text:
Support for Xaml/Data-binding and Dynamic Content

I am opening this ticket in response to this thread to provide better communication around this issue.  The ask is to provide better designer/tooling support around Tile Notifications and to explore better ways of doing so with existing environments.
My first question is: how are Tile Notifications/Toasts ultimately rendered in UWP/WinRT?  Is it using some sort of GDI mechanism?  Or is it actually rendered as UWP UI elements?  Or COM elements?  Knowing this will help me figure out a good designer strategy around it.
I would also like to have a little more context around the XML Document that is passed into a TileNotification constructor.  This does seem like an anti-pattern (or at the very least, poor guidance for other developers to follow), so I am wanting to understand how this document is used after it is passed behind the Curtain of COM.  Unfortunately, with UWP, after it passes the Curtain of COM, it is impossible to see what happens to something.  In .NET, we are able to trace things to get a better understanding of the system and overall design, but in UWP we lose this power/quality.
Thank you for any perspective/information!

Rendering adaptive tile XML works like this: XML comes in, gets converted to Windows.UI.Xaml elements, then a PNG bitmap is generated from the elements, and then the PNG is displayed on the tile.
I think toasts are actually rendered live in the shell (so Splash for Mobile and XAML for desktop).
For converting XML to the Windows XAML elements, I've already written something called the Tile Template Visualizer. It replicates 99% of how Start renders the XML. It takes a lot of time (way more time than writing the NotificationsExtensions library) to replicate all the features of adaptive XML (have to implement dropping off of groups, etc).
However, what we really want is to get permission to use the actual DLL that Windows uses to render the XML, so that it could be 100% accurate. And then maybe the Visual Studio designer could also use that?
Either way, for converting the XML to visuals, I've got an existing large code base that we could leverage. You should message me privately and we can go from there.
And as for what happens to the XML Doc - we store the exact XML, and then parse it when it's needed.

Thanks for letting me know.  I found out about the following vote today: XAML for live tiles -- so this is on the radar already in several forms.
Based on what the team has to say in this vote, it is clear that I have some research to do, so please forgive me for my ignorance as I learn about everything here.
I guess what I am primarily/most concerned with is the use of XmlDocument to begin with.  I am a bit hung up on this, so you will have to bear with me before getting to the good stuff. :)  If the XmlDocument gets parsed into Xaml, then why not pass a UWP object into TileNotification?  Or better yet, why not allow users to define the TileNotification explicitly and then create the XML document from that in COM?  Passing in an XmlDocument just really seems like a questioable design decision, as there is no validation performed on the document, and it can be wrong/invalid in so many different ways (leading to obscure, difficult to understand UWP errors that it is unfortunately becoming known for).  Additionally, if it is supposed to represent an object, then the object should be used instead as it (obviously) is a well-known contract that has an early-bound schema and strong-typing (read: less bugs and room for error :)).  Not to mention, it is a PITA to define (and subsequently read) an XmlDocument and accurately pull information from it.
Like I mentioned, I am wanting to make sure I understand the context around this design first and foremost and am wondering if there is something I am missing.  It just does not seem like something a first class API from Microsoft would provide (and I cannot think of any API I have ever seen that uses it).
It would indeed be nice to know how exactly that XML is being rendered and the DLL/classes that are used to render it.  Unfortunately, I do not have your PM/email, unless I am overlooking something.  Is it your handle on the MSDN boards?

Don't worry, we (PM's on the developer platform notification team) agree that passing in an XmlDocument to the local API is silly. For push notifications using XML makes sense (you have to serialize it somehow), but for local notifications, it's pretty ridiculous. The local API should expose an object that constructs the notification (just like NotificationsExtensions does), and that's what the API should accept.
To contact me - I assumed GitHub would have a private message system. Apparently not. Email me at {my_github_username}@microsoft.com

OK I cannot tell you how relieved I am to hear you say this.  I know you mentioned in MSDN that XML is old skool, but I didn't know if you really knew what that meant. ;)
At the very least, my feeling is that this constructor should be deprecated (truly, I am horrified by it, LOL!) and the TileNotification should become a design-time component (or at least designer-friendly) instead.
I would be interested in knowing how the push notifications work as well, as the XML used does not look like a serialized object but does look like a DOM.  Ideally, all XML used at any time should just be a serialized object and no one anywhere should ever have to load/selectnodes ever again, amen. :)
GitHub did indeed used to have PMs, but closed that feature and moved everything to Twitter and other means.  I agree that it would be nice to have.  I will write you at your address and we can continue from there.  Thanks, Andrew!

Oh yeah another concern about making a change like this is not breaking the API surface for existing users. Ideally, people who have already downloaded the NuGet package should be able to upgrade to the new version and their code still works without any changes.
If necessary, we could make some breaking changes, since the NuGet package hasn't been downloaded that much... but I'd prefer to try and avoid that.

Yeah I hear that concern.  I definitely intend on breaking a few eggs here. :P  But at the very least all the existing tests will pass.  Are you open to maybe upping the version on this, perhaps?  Maybe NotificationsExtensions 1.5 or 2.0?

Yeah I think NuGet probably supports a "breaking change" versioning scheme? So that would be an option that I would be ok with using.
I noticed on Scott's AdaptiveTileExtensions you had to change the nullable objects to just be plain objects yeah? Luckily with mine almost every property directly uses the enums, they're not nullable, so those changes shouldn't be necessary? If there's any drastic changes you're looking at, check the design with me before spending time implementing them.

Luckily with mine almost every property directly uses the enums, they're not nullable, so those changes shouldn't be necessary?

Ugh!  What a terrible terrible limitation that is in existing UWP Xaml. It makes me wonder if someone was paid to make it that bad. :p
The concern with any DSL is to accurately capture the conceptual model that end consumers will be interacting with.  I do not think that is captured at all in the current version.  Not accurately, at least.  For instance, there are a lot of "Do not use this field in a WideTile binding".  I see that and wonder... why not have a WideTileBinding class?  That way you guide the end consumer into the appropriate path.  Otherwise, they will hang themselves. :P
Another design I've seen is the LockDetailedStatus* properties (also WideTile-specific, so should be moved to a WideTileBinding class).  To me this seems like it should be either a new class to combine these values (like an address) or even an extended StringCollection that throws an exception after 3 items?  Or even a combination of the two.
There are also interfaces that do not have any members (which is a violation of FxCop) and multiple places where interfaces are used, but aren't.  Example:
if (child is TileText)
    return (child as TileText).ConvertToElement();

else if (child is TileImage)
    return (child as TileImage).ConvertToElement();

else if (child is TileGroup)
    return (child as TileGroup).ConvertToElement();

Should be:
var item = child as IElementAware;
if ( item != null )
{
  return item.ConvertToElement();
}

As for the null's, TileVisual.Version is null, so we will be running into that problem there.  Essentially, any property that is null is an risk with UWP Xaml serialization (still cannot get over it).  However, I still want to play around with the FrameworkElement path to see if this can be mitigated.  Unfortunately, this means that Xaml designer support will only work in UWP projects and not ASP.NET Core projects.  There is a discussion out there to bring System.Xaml into a Core .NET assembly, so if you can pull any strings over there to make that happen (or at the very least, create awareness around it), it would be most appreciated! :)

Also, in TileVisual, I would almost consider a TileBindingCollection that accepts items of a type only once.  That way you can add as many as you need but only one of a certain type.  If a new tile type is created, then you only have to worry about creating it (1 place to manage/maintain) and not having to update wherever it is used/defined (2+ places to manage/maintain).

The concern with any DSL is to accurately capture the conceptual model that end consumers will be interacting with.  I do not think that is captured at all in the current version.  Not accurately, at least.  For instance, there are a lot of "Do not use this field in a WideTile binding".  I see that and wonder... why not have a WideTileBinding class?  That way you guide the end consumer into the appropriate path.  Otherwise, they will hang themselves. :P

Yep, I addressed a lot of that with NotificationsExtensions. For example, with the XML, you can technically put a hint-crop on a background image, even though that's not supported. With my library, that's impossible. If you find any issues with NotificationsExtensions where I failed to do that, tell me.

Another design I've seen is the LockDetailedStatus* properties (also WideTile-specific, so should be moved to a WideTileBinding class).  To me this seems like it should be either a new class to combine these values (like an address) or even an extended StringCollection that throws an exception after 3 items?  Or even a combination of the two.

There's a few drawbacks about creating SmallTileBinding, MediumTileBinding, WideTileBinding classes... what if you want to apply the same binding to both medium, wide, and large tiles? If the TileWide only accepts WideTileBinding, then you can't share bindings between them. Putting the LockDetailedStatus property on the TileVisual element was the most elegant solution I could think of for that. Also, if we did the separate binding classes, there's no good way to implement that in WinRT since you can't extend classes. You would have to make an ISmallTileBinding, IMediumTileBinding, etc interfaces, each with copy/pasted code, and then you could have internal SmallTileBinding, MediumTileBinding, etc classes that use inheritance, but then for the user to initialize these bindings, you would need a factory, which means that users can't use the object-initializer syntax, which is a huge negative... The only other choice is literally creating 4 separate classes for each binding with copied code everywhere, not using inheritance at all. Having to support WinRT (so that JavaScript apps can use it) is a real pain. That's the reason why some of my code doesn't have the best design practices.
Combining the 3 lock properties in a class, or making it a string collection... yeah, I thought about it, but instead chose to remain consistent with the XML itself.

There are also interfaces that do not have any members (which is a violation of FxCop)

Have a better way for a list to only accept objects of a certain type? Like accepting both TileText and TileImage? Those two classes share nothing else in common to the API-facing end-user.

and multiple places where interfaces are used, but aren't.  Example:

That's because I have to support WinRT, which makes it impossible to do what you're saying I should do, unless I expose the Element_Tile* classes as public, which I did not want to do. Because in WinRT, a public class cannot implement an internal interface, so the interface needs to be public, which means all methods of the interface need to be public, and since that method would be returning an Element_Tile* object, the Element_Tile* class needs to be public, and then it's improperly exposed.

As for the null's, TileVisual.Version is null, so we will be running into that problem there.  Essentially, any property that is null is an risk with UWP Xaml serialization (still cannot get over it).  However, I still want to play around with the FrameworkElement path to see if this can be mitigated.  Unfortunately, this means that Xaml designer support will only work in UWP projects and not ASP.NET Core projects.  There is a discussion out there to bring System.Xaml into a Core .NET assembly, so if you can pull any strings over there to make that happen (or at the very least, create awareness around it), it would be most appreciated! :)

It'd definitely be optimal if the designer worked on all projects. However, would generating via code still work on ASP.NET Core? Even though the objects inherit from FrameworkElement? That would be a deal breaker if they can't even generate notifications at all.

Also, in TileVisual, I would almost consider a TileBindingCollection that accepts items of a type only once. That way you can add as many as you need but only one of a certain type. If a new tile type is created, then you only have to worry about creating it (1 place to manage/maintain) and not having to update wherever it is used/defined (2+ places to manage/maintain).

I disagree. The reason I chose the TileSmall, TileMedium, TileWide, and TileLarge properties is so that it makes it explicit to the developer that "Hey, here's all these sizes, they exist, and you should support them!!". Also, it allows devs to take one TileBinding object and assign it to both medium, wide, and large.
Now, that decision was made with the focus of this code being generated from C#, not in XAML. In a XAML-defined way, it possibly is more elegant to have the TileBindingCollection.

Wow, I totally spaced on this discussion.  Real Life caught up with me in a big way.  Sorry for the delay here!

Having to support WinRT (so that JavaScript apps can use it) is a real pain. That's the reason why some of my code doesn't have the best design practices.

I am actually unfamiliar with this, and you mention not being able to extend classes... is this a JavaScript WinRT limitation?  If so, that is pretty terrible.  I mean, WinJS is a pretty terrible idea to begin with, but not being able to extend classes altogether is just plain ridiculous.  Who in their right mind would use that API unless MSFT was paying them to do it? (No, please don't actually answer that, LOL!)

but instead chose to remain consistent with the XML itself.

I guess the point here if anything that I am trying to make is... that we shouldn't let XML drive the model.  The model should drive the XML. :)  If there is anything my b!tching and complaining has accomplished going forward, it is that point exactly.

would generating via code still work on ASP.NET Core?

That is a great question.  ASP.NET Core (or what is supposed to be renamed Core .NET) really has its own idea of how projects and designers should behave.  Even though we are told the experience is going to be "lit up" in Visual Studio, from the looks of the early betas, it appears to be nothing but that, and in fact features that "just worked" are being broken all over again.  You would think/expect that a Core.NET project will allow to edit/view/design a Xaml file just like every other project type ever made in the history of Visual Studio system but as it currently stands, that indeed is not the case (but should be :smile:).
But I digress, the FrameworkElement idea involved some design ideas I wanted to try and flesh out, mostly involving interfaces and shared libraries.  Although now seeing the dependency of WinJS as the apparent liability that this brings to the table, I am having second thoughts around this.

The reason I chose the TileSmall, TileMedium, TileWide, and TileLarge properties is so that it makes it explicit to the developer that "Hey, here's all these sizes, they exist, and you should support them!!"

Fair enough.  I can dig that.  Thank you for sharing your perspective and pointing that out.
So, after putting some thought into this, I am beginning to feel that I have bitten off more than I can chew here.  I think the changes that I want to bring about are more for the next version/vNext.  I started this off with the AdaptiveTileExtensions to show off that all of this can (and should) be done with Xaml and a better designer experience around what is already offered and possible within Visual Studio.  The drive around that was personal as when I first saw the XML it was definitely a "WTF" moment and knew that I would create something very similar to the PR I ultimately created for my own personal endeavors.
If anything, I am thinking this issue should be tagged for a vNext as it really appears/seems that all of the seemingly curious design decisions are based around the even more seemingly curious spectacle of WinJS and WinRT. :)  If the internal groups do somehow get aligned and you do manage to get centered on a better design paradigm, I would be more than willing to assist with this in that endeavor as well.
Additionally, I would also be willing to further assist here in a capacity that improves everything but WinJS.  Seriously... is anyone even using WinJS? ;) Amazing how Silverlight gets the hammer but WinJS somehow manages to survive and continue to seem like a good idea.

Hahah no problem :P

you mention not being able to extend classes... is this a JavaScript WinRT limitation?

Yep, it's a JavaScript limitation, extending classes doesn't really exist in JavaScript (apparently they have prototypes, but I guess that can't translate - I'm not much of a JavaScript expert myself).

we shouldn't let XML drive the model. The model should drive the XML. :)

Yeah, true, but if people are used to the XML, sometimes keeping things familiar is the smartest choice. If most documentation describes notifications in the XML syntax, then people would find it frustrating translating the XML to this library's format. I'm working on adding NotificationsExtensions syntax to all the new tile/toast documentation I've published to help with that. But the fact is, the XML came first, and the XML is still the truth, and the XML is the only thing natively supported in the platform, and because of that I feel the library needs to maintain a decent amount of consistency with the XML. If the library was natively included in the Windows API's (like it should be), then things would be different. But there's still going to be tons of devs using raw XML, and still going to be people sharing XML snippets, and I don't want this library to look completely foreign compared to the XML.

I am beginning to feel that I have bitten off more than I can chew here... I started this off with the AdaptiveTileExtensions to show off that all of this can (and should) be done with XAML

No worries, we'll continue to pursue creating a POCO editor for notifications! We want to provide the best dev experience.

Additionally, I would also be willing to further assist here in a capacity that improves everything but WinJS. Seriously... is anyone even using WinJS? ;)

Haha. Maybe the only solution would be forking the two projects, and maintaining a separate WinJS one. But I'm trying to avoid that.
I can see WWA (Windows Web Apps) becoming super popular with Hosted Web Apps for Windows 10. But with that, I'm not even sure they'd be able to take advantage of a WinRT library, meaning that my library would be useless to them? So yeah, choosing to support WWA was more of a "do this for completeness" decision, but it'd be interesting to find out if any devs are actually using WWA and using my library.

But the fact is, the XML came first, and the XML is still the truth, and the XML is the only thing natively supported in the platform, and because of that I feel the library needs to maintain a decent amount of consistency with the XML.

No argument there, but make sure it's properly-used XML and XML serialization.  That means ideally serializing an object wholly as XML and then running it through XSLT, rather than hobbling and piecemealing it together as it is now.  Again there are constraints here so I am aware that my ideals are exactly that. :stuck_out_tongue: As long as everyone is aware of those ideals, then that is what is important to me (and others wanting clean code LOL).

I can see WWA (Windows Web Apps) becoming super popular with Hosted Web Apps for Windows 10.

I want some of what you're smoking and drinking then. :)  Why would a web developer with HTML/JS skillz want to use (read: waste) their talents to make an application in a hosted environment that gets a fraction of exposure/accessibility that is abundantly available on the ubiquitous web?  I think the terrible adoption of WinJS is very much an indicator of developers asking this very question.  Plus, web developers do not have to pay $19 in registration fees (or 30% of in-app revenues) to build an application on the web; it's free.  These are a few of the VERY MANY reasons why WinJS is ALL sorts of messed up. :stuck_out_tongue:  But the WORST of all is that the rest of us have to suffer greatly because of it as our design decisions have to account for a VERY backwards (and as you point out INCOMPATIBLE) way of thinking.
So, remind me again why Silverlight was such a bad idea?  Haha, I kid, I kid... sort of. :smile:
But seriously, all the WinJS projects I know were done because they were paid by MSFT to do.  I don't know a single WinJS developer, and I would like to know who they are and why they develop in the face of the reasons above.
I will say that I don't blame you for accepting it for completeness.  Mad props and respect, THAT is a challenge!!   Now I have the opportunity to complain and discuss the reasons with you about why it's such a terrible idea!! :laughing:

You haven't looked up what Hosted Web Apps are, have you? They're new in Windows 10.
Basically, they let you submit your existing website, with its existing URL, to the app store, and it becomes an app. All your code remains on your server. You don't need to spend any extra time writing Windows-specific code. Your website runs just like it would in a browser, except it's an app now.
And if the devs want to integrate additional features like live tiles or toasts to their website, they can do that easily, by simply adding it to their server's JavaScript. They don't need to maintain two code bases. They do this: https://gist.github.com/Gr8Gatsby/3d471150e5b317eb1813#file-windows-ui-notifications-js
Do you think that's such a terrible idea? I think that's exactly what a lot of web developers are asking for. They want their website to be an app. They want to maintain the benefits of having a website, while also having an entry in the app store, and allowing people to launch their website "like an app", and some might even choose to integrate with platform-specific features like share targets and toast notifications. I think hosted web apps are a great idea, and nah I'm not drinking any Kool-Aid lol.

Ah, yes, I have heard of them.  It's one of the bridges to Windows 10.  And yes, it is cool that MSFT is building bridges for external technologies to interface with Windows 10.  The business problem is still the same, however.  Where is the incentive to make your application less available than it already in a globally-accessible manner?  And why would someone pay $19 a year for that?
I am assuming that is the case, since it is a UWP application?  However, I think it is safe to say that the 30% of revenues no longer applies?  Or does it?  If the 30% of revenues no longer applies, then how come I can't develop my UWP application in a way that doesn't afford the same exception?  That doesn't seem fair.
It seems to me that MSFT is building the bridges BACKWARDS.  That is, I would easily pay $19/year (in addition to the $19 already in place) if that meant my UWP app was transpiled and available ubiquitously on the web in addition to the hosted store.
We're WAAAAY off topic here, but this is important stuff man. :)

The $19 fee is one-time.
Why would someone pay a one-time fee? Because, your app would appear in the Store, which hopefully people will start visiting more frequently, and therefore can result in people discovering your service when they otherwise would have not. It all rests on whether end users start to use the Store more frequently. If people actually start going to the Store when they need something, like a task manager, or a grocery list, etc, then websites are going to want to be there (in addition to appearing on Google/Bing search results).
Your website can use its own payment system, its own advertisements, etc (that's true with UWP's too, it used to be false back in the WP7/8 days but things have changed). If you'd like, you can integrate with the Windows in-app purchases and whatnot (and then yeah you'd be hit with only receiving 70% revenue), but that's completely optional. If you have a website that already has a billing system, continue to use it.
Haha yep we definitely went off on a tangent. But this is interesting! And I think you'll learn to agree that Hosted Web Apps are great. Join the cult! Hahah... nah honestly, I'm not even a fan of web development (I love native apps), but I think they finally created a good idea for JavaScript apps with the Hosted option.

One-time fee!  Why, that makes NO SENSE, man!  That FULLY seems like something that should be an annual fee! :)
And yes, the Store will be used more frequently.  Windows 10 is awesome.  I believe in the Billion Machine March. :)  However, even at 1B, there are still 1.5B (at least) iOS/Droid devices and even much much more so web clients (see: ubiquity) that still dwarfs the 1B altogether.
Not to mention, most web developers out there really do not like MSFT, even with its recent change of standards-embracing heart.  They are doing just fine out there with Google and everything else.
And it goes both ways, I am with you that I H-A-T-E web development.  But I love web ubiquity. :)  It just seems strange to me that MSFT would put all of this (backwards) effort catering to web developers (who, again, don't like what MSFT is selling -- no matter what it is) when really they would stand to make MUCH more money being able to take their .NET client applications and make them ubiquitous (as standards-compliant transpiled applications) in addition to the Store.  I think that is a guaranteed strategy that will pull in much much more loyal MSFT developers, and therefore $$$.  .NET > web!

At the risk of reviving a dead thread that continues to be off topic. :)  I wanted to post a follow-up to the great discussion here regarding the backwards strategy of WinJS.  You can see that post here:
http://blog.developers.win/2015/10/the-backwards-bridge/
And also exploring the strategies of Windows 10 vs web, and why MSFT should strive to be ubiquitous (check out the cool chart):
http://blog.developers.win/2015/10/the-ubiquitous-bridge/
Finally, @anbare ... since you don't have Twitter (or aren't active with it), I'll let you know here that I got you in the credits of my new site that I posted (Along with the articles above) yesterday:
http://developers.win/#credits
You're awesome, man.  Tell your boss I told him that you deserve a raise. :)

Whoa that's a cool site! It completely breaks on Windows 10 Mobile, but looked cool on the desktop. Some good articles and ideas there too.
I voted for the Ubiquitous Bridge UserVoice! And thanks for the shout-out on your website!

Thanks dude.  Appreciate the feedback.  You're one smart cookie. :+1:   And with that, we can (hopefully) put this thread back on-topic (if that is even possible at this point!)

Haha, even if the thread is off-topic, XAML is still definitely on my mind. I'm currently focusing on some other tasks right now though.

@Michael-DST Take a look at my lib: https://github.com/cherepets/FourToolkit.Notifications
I missed typing and bindings in XML and do not thing that the code (c#) is a nice place for markup (and notifications is surely a markup). So I did this lib for creating notifications in XAML.
But I didn't implement the preview in designer because I personally don't need it. May be it's possible to use http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/12/18/beta-embed-a-live-tile-in-your-windows-10-app.aspx for this purpose somehow.

authors: Michael-DST anbare cherepets

repo: anbare/NotificationsExtensions


text:
Portfolio setup

I added an index.html and styles.css that makes up the main page of the mobile version

I added index.html and styles.css files that make up the first page of the mobile version of the portfolio.
README.md is also updated.
All the linters are checked and green.

source: gharchive/pull-request

license: MIT

license_type: permissive

license_source: github-api


text:
septuplet dataset 502

Hi, the 82G http://data.csail.mit.edu/tofu/dataset/vimeo_septuplet.zip got 502

Same issue

It works on my side now. Might be a temporary network outage.

source: gharchive/issue

authors: HarukiYqM anchen1011 tkkcc


text:
fix issue #861 by checking if created_at is set in payload before add…

…ing to RegistryDigestSource

What this PR does / why we need it:
Fixes issue #861 by checking if created_at is set in payload before adding to RegistryDigestSource
Which issue this PR fixes (optional, in fixes #<issue number>)(, fixes #<issue_number, ...) format, will close the issue when PR is merged: fixes #:
fixes #861
Special notes:

if force param isn't passed, then we want payloads with no created_at to pass validation

timestamp can be supplied by anchore_engine/services/apiext/api/controllers/images.py::analyze_image()

if force param is passed, then we are overriding an existing entry and can use the old creation timestamp. created_at is not necessary. images.analyze_image will find old timestamp.
however, if force param is passed and created_at is specified in body, we should pass that data along and validate it as usual.

Cases:

no force, timestamp provided: OK (default behavior)
no force, no timestamp: OK (timestamp provided by images.analyze_image)
force, timestmap provided: OK (timestamp will get overwritten)
force, no timestamp: OK (previous timestamp will get used in images.analyze_image)

if force param isn't passed, then we want payloads with no created_at to pass validation

timestamp can be supplied by anchore_engine/services/apiext/api/controllers/images.py::analyze_image()

if force param is passed, then we are overriding an existing entry and can use the old creation timestamp. created_at is not necessary. images.analyze_image will find old timestamp.
however, if force param is passed and created_at is specified in body, we should pass that data along and validate it as usual.

Cases:

no force, timestamp provided: OK (default behavior)
no force, no timestamp: OK (timestamp provided by images.analyze_image)
force, timestmap provided: OK (timestamp will get overwritten)
force, no timestamp: OK (previous timestamp will get used in images.analyze_image)

repo: anchore/anchore-engine

license_source: bigquery


text:
Exec with TryOnce

I will add TryOnce exec, exec which tests only at Offset (not in loop). it's needed for lexer parser which must test only one offset, outter code must change offset then (sometimes by 1, sometimes by n).
to add ATryOnce, i will change code near if reganchored <> #0 in MatchPrim
Ok naming?
ExecPos(AOffset: integer; ATryOnce: boolean)

Exec calls ExecPrim and it search just first re match and exit.
It does not loop - you should use ExecNext in loop to find all matches.

Ok, I will add this func with some testing

Why do you need it?
Exec func do not iterate by itself.
And if will I do not understan where will you place results for all matches?

Pull req. зачем это нужно. я делаю парсер анализа исходника который разбивает код программы на "токены". для этого для каждой offset  мне надо програть офсет по Н правилам (Н regex objects) - найти первое правило которое "матчит" в этом оффсет.

Это уже умеет делать EControl RegExpr - а ваш пока не умеет, вот и добавим это

Почему не вызвать ExecPos поочередно с каждым правилом для конкретной позиции?
Не хочется чтобы она сдвигалась с указанной позиции?
Для этого есть MatchPrim.

MatchPrim приватно. надо какую то обертку делать. ее можно сделать и над ExecPrim, и даже так лучше- там всякие проверки в начале которые нужны, и потом когда нашло- ExecPrim заносит ответ в startp/endp

Да, нужно чтобы не было сдвига с позиции, был только тест в Offset

@andgineer Добавил демо для теста! оно ищет то что и парсер-- все "токены" в коде паскаля по где-то 7 правилам

ok теперь понятно

authors: Alexey-T andgineer

repo: andgineer/TRegExpr


text:
Add support for trailing '/' for API calls

The current endpoint does not support a '/' at the end of the call. Request to update to be agnostic of trailing '/'

done.

authors: ando-shah nociza


text:
Add .gitignore file for Django project

repository currently does not include a .gitignore file. This file is essential for a Django project to avoid committing unnecessary files such as migration files, cache files, and environment variable settings.
Would it be possible to add a suitable .gitignore file to the repository?
Additionally, I would like to request the following tags be added to this issue:

gssoc-ext
level1
hacktoberfest

Thank you for your consideration!

@andoriyaprashant I want to solve this issue. Please add the tags and assign this to me.

repo: andoriyaprashant/DevDocsHub


text:
🛑 Centraal Museum is down

In fd70d0d, Centraal Museum (https://www.centraalmuseum.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Centraal Museum is back up in bf84b64 after 26 minutes.

repo: andreesg/intk-upptime


text:
🛑 Cuypershuis is down

In a1167ff, Cuypershuis (https://www.cuypershuis.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Cuypershuis is back up in 30dbf45 after 8 minutes.


text:
Add callbacks or support Google Analytics

Here is the code I am removing from my app's AppDelegate while switching from arashpayan/appirater to SARate. It would be nice to be able to do this in SARate. Alternatively, SARate could automatically do this without any configuration if the GA was available.
#pragma mark - AppiraterDelegate

- (void)appiraterDidDisplayAlert:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"DisplayAlert"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidDeclineToRate:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"DeclineToRate"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidOptToRate:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"OptToRate"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidOptToRemindLater:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"OptToRemindLater"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterWillPresentModalView:(Appirater *)appirater animated:(BOOL)animated
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"WillPresentModalView"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidDismissModalView:(Appirater *)appirater animated:(BOOL)animated
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"DidDismissModalView"
                                                           label:@"done"
                                                           value:@1] build]];
}

Closing, Apple is killing this project in iOS 11.

license: mit


text:
🛑 pharmacomms is down

In 6290e14, pharmacomms (https://pharmacomms.tv/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: pharmacomms is back up in 33fc518.

repo: andrespitt/uptime


text:
Entities Configuration

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
Hi, please add Configuration for Entites, i only need Battery Last Replaced and Button, i dont need other entities
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Battery+ is an integral part of monitoring the battery replaced and I am unable to split this up without causing a huge amount of spaghetti code which I want to avoid.

authors: andrew-codechimp milandzuris

repo: andrew-codechimp/HA-Battery-Notes


text:
New Device [Monoprice Motion]

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
na
Describe the solution you'd like
{
    "manufacturer": "Vision Security",
    "model": "ZP3111-5",
    "battery_type": "AAA",
    "battery_quantity": 2
}

Describe alternatives you've considered
na
Additional context
na

Thanks, I've added this.


text:
Support marketing_features in product resource

An array of marketing features (basically an array of strings) can be passed to the Create Product API, but it's not present in the provider.
Stripe API in question: https://docs.stripe.com/api/products/create#create_product-marketing_features
I'd hope to be able to do something like this:
resource "stripe_product" "cool_product" {
  name        = "Pro"
  description = "Unlimited access to all features."

  marketing_features = [
    {name = "It's great"}
  ]
}

If you're generating the provider from the OpenAPI spec I'd expect this to exist already, but I do see a link at the top level of this repo pointing to https://github.com/stripe/openapi/tree/79e5f5f486c57a4db0327f01fb2e41df372ffb20, which is 2 years out of date now, so maybe that's a cause?

That sounds likely.  Sorry, there's no particular reason I haven't updated the spec, just that I haven't needed newer features myself.
I can try to take a look at updating it (if we're lucky, just updating the submodule should be all this needs) but I might not get to it immediately.
That said, I guess they just came out with a 2.0 api? I have a feeling that the current code generation is likely to break on that.  Maybe updating to the latest api before 2.0 for now would be okay.

authors: andrewbaxter edspencer

repo: andrewbaxter/terraform-provider-stripe

license: ISC


text:
🛑 nhcam is down

In f648cea, nhcam ($NHIPCAM) was down:

HTTP code: 0
Response time: 0 ms

Resolved: nhcam is back up in e06461e.

repo: andrewdavies-net/upptime


text:
🛑 plexd is down

In e351628, plexd ($PLEXD) was down:

HTTP code: 401
Response time: 314 ms

Resolved: plexd is back up in 7f1aab9.


text:
Check alt key for shortcuts.

Summary
This PR resolves https://github.com/andrewnguonly/Lumos/issues/188.

To do: Explore bringing back tool tips for shortcut keys.

repo: andrewnguonly/Lumos


text:
Create a profile system to allow for changes to be made to UI, etc to suit a particular user preference

TTSIA

this is only going to happen when I am generally happy that all the features I want in vNAAATS are there and stable.


text:
Set Allow Commit Message

When you go to settings (general) you can specify squash/merge commit but you can also select the default commit type.

Default message
Pull request title
Pull request title and description

Is it possible to apply this settings?

Hi @Martin-Gonzalez90, if the github api and pygithub support that setting, then this action could as well.
I'd approve a PR adding the feature if you'd like to make it.

repo: andrewthetechie/gha-repo-manager


text:
CI を整える

適当に記述している CI を整える
Links

Android Emulator Runner

API 29+

Apparently API 29+ won't accept default. Moved to google_apis and it worked. Closing issue

workflow commands

API 23 のテストがこけた？
minSdk 26 だから、それ以上でやるべき

API 26 でもこけた

何でだろう？
全部試してみる！

build ファイルはやっぱり消えていた（空だった）

cache の設定の見直し！

actions/cache@v2

今のままでは、永遠に同じキャッシュが使われそう
cache は消せない → 新たなキーで違うキャッシュを作る

こうしたときに、異なる job から上手に呼ぶにはどうしたらいいか

どのタイミングで何をするべきか
案

deploy は main へのマージのタイミングのみ

deploy は今のところ github の artifact に上げることしかしてないので、毎回でもいいかも

issue の push は飛ばす（MR では行う）

環境まとめ？

26-28 はなぜかテスト失敗する

HiltTestRunner として HiltTestApplication を使ったものを使用してるが、その対応 api とか調べてみる？

31 はおそらくエミュレータが対応してない


text:
How to access parent layout of  in View Binding

NullPointerException while getting the id of parent layout in
xml file :
<include android:id="@+id/idInShareMoment" layout="@layout/layout_share_moments"/>
included layout :
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/idLLShareNewMoment"
    android:layout_width="match_parent"
    android:layout_height="@dimen/_50sdp"
    android:layout_marginTop="@dimen/_10sdp"
    android:background="@color/colorWhite"
    android:gravity="center_vertical"
    android:padding="@dimen/_10sdp"/>

```//kt file
 mBinding.idInShareMoment.idLLShareNewMoment.setOnClickListener {
           //do your work
        }
``
//getting below exception
 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.chessfellow/com.app.chessfellow.ui.main.MainActivity}: java.lang.NullPointerException: Missing required view with ID: idLLShareNewMoment
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2861)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2943)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1630)

How can we access parent layout ID in <include> tag ??

Ok, no need to answer this question I got the solution.

For those who came here, see https://stackoverflow.com/questions/16734541/nullpointerexception-on-rootview-of-an-included-layout.
Use mBinding.idInShareMoment.setOnClickListener

好了，这个问题不用回答了，我已经解决了。

If using ViewBinding  How to solve

@18391610438 Instead of using parent layout id you have to use root method.
Ex. mBinding.idInShareMoment.**root**.setOnClickListener {}

repo: android/architecture-components-samples


text:
Black preview in CameraXBasic

Hi,
I have installed CameraXBasic without any modification on my phone (HTC One). When I open the app, the preview is black and stays black whereas it should preview the back camera. The preview for the front camera is okay and I can capture photos with the front camera.
Here is a logcat after opening the app:
2020-02-29 19:45:09.280 29062-29062/? I/le.cameraxbasi: Late-enabling -Xcheck:jni
2020-02-29 19:45:09.337 29062-29062/? E/le.cameraxbasi: Unknown bits set in runtime_flags: 0x8000
2020-02-29 19:45:10.532 29062-29062/com.android.example.cameraxbasic W/le.cameraxbasi: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
2020-02-29 19:45:10.534 29062-29062/com.android.example.cameraxbasic W/le.cameraxbasi: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
2020-02-29 19:45:11.014 29062-29116/com.android.example.cameraxbasic I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/21/15, 369a2ea, I96aee987eb
2020-02-29 19:45:11.028 29062-29116/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 19:45:11.043 29062-29116/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 19:45:11.078 29062-29116/com.android.example.cameraxbasic W/Gralloc3: mapper 3.x is not supported
2020-02-29 19:45:11.304 29062-29062/com.android.example.cameraxbasic D/CameraXBasic: Screen metrics: 1080 x 1920
2020-02-29 19:45:11.304 29062-29062/com.android.example.cameraxbasic D/CameraXBasic: Preview aspect ratio: 1
2020-02-29 19:45:11.376 29062-29131/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:11.414 29062-29062/com.android.example.cameraxbasic W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
2020-02-29 19:45:11.523 29062-29131/com.android.example.cameraxbasic D/CameraRepository: Added camera: 0
2020-02-29 19:45:11.607 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 19:45:11.609 29062-29131/com.android.example.cameraxbasic I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
2020-02-29 19:45:11.648 29062-29131/com.android.example.cameraxbasic D/CameraRepository: Added camera: 1
2020-02-29 19:45:11.712 29062-29131/com.android.example.cameraxbasic I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
2020-02-29 19:45:11.714 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 1
2020-02-29 19:45:12.085 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 19:45:12.088 29062-29132/com.android.example.cameraxbasic D/Camera: Use cases [Preview:androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3, ImageCapture:androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07, ImageAnalysis:androidx.camera.core.ImageAnalysis-a98eabb0-f766-464d-8aa9-e02e7ae0d6ad] now ONLINE for camera 0
2020-02-29 19:45:12.088 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 19:45:12.088 29062-29132/com.android.example.cameraxbasic D/Camera: Resetting Capture Session
2020-02-29 19:45:12.089 29062-29132/com.android.example.cameraxbasic D/Camera: releasing session in state INITIALIZED
2020-02-29 19:45:12.090 29062-29132/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: INITIALIZED --> OPENING
2020-02-29 19:45:12.090 29062-29132/com.android.example.cameraxbasic D/Camera: Opening camera: 0
2020-02-29 19:45:12.092 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: All use case: [androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3, androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07, androidx.camera.core.ImageAnalysis-a98eabb0-f766-464d-8aa9-e02e7ae0d6ad] for camera: 0
2020-02-29 19:45:12.126 29062-29132/com.android.example.cameraxbasic I/CameraManager: Using legacy camera HAL.
2020-02-29 19:45:12.692 29062-29132/com.android.example.cameraxbasic D/Camera: Use case Preview:androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3 ACTIVE for camera 0
2020-02-29 19:45:12.693 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3] for camera: 0
2020-02-29 19:45:12.694 29062-29132/com.android.example.cameraxbasic D/Camera: Use case ImageCapture:androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07 ACTIVE for camera 0
2020-02-29 19:45:12.696 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3, androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07] for camera: 0
2020-02-29 19:45:12.697 29062-29132/com.android.example.cameraxbasic D/Camera: Use case ImageAnalysis:androidx.camera.core.ImageAnalysis-a98eabb0-f766-464d-8aa9-e02e7ae0d6ad ACTIVE for camera 0
2020-02-29 19:45:12.698 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3, androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07, androidx.camera.core.ImageAnalysis-a98eabb0-f766-464d-8aa9-e02e7ae0d6ad] for camera: 0
2020-02-29 19:45:12.700 29062-29132/com.android.example.cameraxbasic D/Camera: CameraDevice.onOpened(): 0
2020-02-29 19:45:12.707 29062-29132/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: OPENING --> OPENED
2020-02-29 19:45:12.709 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: All use case: [androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3, androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07, androidx.camera.core.ImageAnalysis-a98eabb0-f766-464d-8aa9-e02e7ae0d6ad] for camera: 0
2020-02-29 19:45:12.719 29062-29132/com.android.example.cameraxbasic D/CaptureSession: Opening capture session.
2020-02-29 19:45:12.747 29062-29132/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CONFIGURING
2020-02-29 19:45:12.750 29062-29167/com.android.example.cameraxbasic I/RequestThread-0: Configure outputs: 3 surfaces configured.
2020-02-29 19:45:12.750 29062-29167/com.android.example.cameraxbasic D/Camera: app passed NULL surface
2020-02-29 19:45:12.759 29062-29167/com.android.example.cameraxbasic I/RequestThread-0: configureOutputs - set take picture size to 2688x1520
2020-02-29 19:45:12.771 29062-29168/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 19:45:12.773 29062-29168/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 19:45:12.794 29062-29168/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglQueryContext:4373>: EGL_BAD_ATTRIBUTE
2020-02-29 19:45:12.795 29062-29168/com.android.example.cameraxbasic E/libc: Access denied finding property "persist.camera.legacy_perf"
2020-02-29 19:45:12.814 29062-29132/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state IDLE
2020-02-29 19:45:12.819 29062-29132/com.android.example.cameraxbasic D/CaptureSession: Attempting to send capture request onConfigured
2020-02-29 19:45:12.819 29062-29132/com.android.example.cameraxbasic D/CaptureSession: Issuing request for session.
2020-02-29 19:45:12.835 29062-29132/com.android.example.cameraxbasic I/RequestQueue: Repeating capture request set.
2020-02-29 19:45:12.836 29062-29132/com.android.example.cameraxbasic D/CaptureSession: CameraCaptureSession.onConfigured() mState=OPENED
2020-02-29 19:45:12.836 29062-29132/com.android.example.cameraxbasic D/CaptureSession: CameraCaptureSession.onReady() OPENED
2020-02-29 19:45:12.848 29062-29167/com.android.example.cameraxbasic W/LegacyRequestMapper: convertRequestMetadata - control.awbRegions setting is not supported, ignoring value
2020-02-29 19:45:12.848 29062-29167/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 19:45:12.849 29062-29167/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 19:45:12.878 29062-29167/com.android.example.cameraxbasic W/Gralloc3: allocator 3.x is not supported
2020-02-29 19:45:12.882 29062-29167/com.android.example.cameraxbasic I/Gralloc2: Adding additional valid usage bits: 0x2202400
2020-02-29 19:45:19.496 29062-29167/com.android.example.cameraxbasic E/RequestThread-0: Received device exception during capture call:
    java.lang.RuntimeException: startPreview failed
        at android.hardware.Camera.startPreview(Native Method)
        at android.hardware.camera2.legacy.RequestThreadManager.startPreview(RequestThreadManager.java:291)
        at android.hardware.camera2.legacy.RequestThreadManager.doPreviewCapture(RequestThreadManager.java:333)
        at android.hardware.camera2.legacy.RequestThreadManager.access$1400(RequestThreadManager.java:60)
        at android.hardware.camera2.legacy.RequestThreadManager$5.handleMessage(RequestThreadManager.java:837)
        at android.os.Handler.dispatchMessage(Handler.java:103)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2020-02-29 19:45:19.496 29062-29167/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state ERROR
2020-02-29 19:45:19.499 29062-29132/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: OPENED --> REOPENING
2020-02-29 19:45:19.502 29062-29132/com.android.example.cameraxbasic D/Camera: Resetting Capture Session
2020-02-29 19:45:19.514 29062-29132/com.android.example.cameraxbasic E/CameraCaptureSession: Session 0: Exception while stopping repeating:
    android.hardware.camera2.CameraAccessException: CAMERA_ERROR (3): The camera device has encountered a serious error
        at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2535)
        at android.hardware.camera2.impl.CameraDeviceImpl.stopRepeating(CameraDeviceImpl.java:1129)
        at android.hardware.camera2.impl.CameraCaptureSessionImpl.close(CameraCaptureSessionImpl.java:526)
        at androidx.camera.camera2.internal.CaptureSession.release(CaptureSession.java:482)
        at androidx.camera.camera2.internal.Camera2CameraImpl.releaseSession(Camera2CameraImpl.java:475)
        at androidx.camera.camera2.internal.Camera2CameraImpl.resetCaptureSession(Camera2CameraImpl.java:922)
        at androidx.camera.camera2.internal.Camera2CameraImpl.closeCamera(Camera2CameraImpl.java:397)
        at androidx.camera.camera2.internal.Camera2CameraImpl$StateCallback.reopenCameraAfterError(Camera2CameraImpl.java:1287)
        at androidx.camera.camera2.internal.Camera2CameraImpl$StateCallback.handleErrorOnOpen(Camera2CameraImpl.java:1261)
        at androidx.camera.camera2.internal.Camera2CameraImpl$StateCallback.onError(Camera2CameraImpl.java:1239)
        at androidx.camera.camera2.internal.CameraDeviceStateCallbacks$ComboDeviceStateCallback.onError(CameraDeviceStateCallbacks.java:119)
        at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.notifyError(CameraDeviceImpl.java:2011)
        at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.lambda$Sm85frAzwGZVMAK-NE_gwckYXVQ(Unknown Source:0)
        at android.hardware.camera2.impl.-$$Lambda$CameraDeviceImpl$CameraDeviceCallbacks$Sm85frAzwGZVMAK-NE_gwckYXVQ.accept(Unknown Source:8)
        at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:271)
        at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:195)
        at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:86)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2020-02-29 19:45:19.515 29062-29132/com.android.example.cameraxbasic D/Camera: releasing session in state REOPENING
2020-02-29 19:45:23.546 29062-29167/com.android.example.cameraxbasic E/RequestThread-0: Timed out while waiting for request to complete.
2020-02-29 19:45:23.547 29062-29167/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 0
2020-02-29 19:45:23.547 29062-29167/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2020-02-29 19:45:23.555 29062-29167/com.android.example.cameraxbasic E/CameraDeviceState: Cannot call capture while in state: 0
2020-02-29 19:45:23.556 29062-29167/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 0
2020-02-29 19:45:23.556 29062-29167/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2020-02-29 19:45:23.573 29062-29167/com.android.example.cameraxbasic E/CameraDeviceState: Cannot call capture while in state: 0
2020-02-29 19:45:27.626 29062-29167/com.android.example.cameraxbasic E/RequestThread-0: Timed out while waiting for request to complete.
2020-02-29 19:45:27.627 29062-29167/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 0
2020-02-29 19:45:27.628 29062-29167/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2020-02-29 19:45:27.631 29062-29146/com.android.example.cameraxbasic E/Camera: Error 100
2020-02-29 19:45:27.631 29062-29146/com.android.example.cameraxbasic E/RequestThread-0: Received error 100 from the Camera1 ErrorCallback
2020-02-29 19:45:27.638 29062-29167/com.android.example.cameraxbasic E/CameraDeviceState: Cannot call capture while in state: 0
2020-02-29 19:45:29.694 29062-29092/com.android.example.cameraxbasic W/CameraBase: Camera service died!
2020-02-29 19:45:29.694 29062-29092/com.android.example.cameraxbasic W/CameraBase: mediaserver's remote binder Camera object died
2020-02-29 19:45:29.703 29062-29146/com.android.example.cameraxbasic E/Camera: Error 100
2020-02-29 19:45:29.703 29062-29146/com.android.example.cameraxbasic E/RequestThread-0: Received error 100 from the Camera1 ErrorCallback
2020-02-29 19:45:30.694 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:30.695 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable
2020-02-29 19:45:31.695 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:31.696 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable
2020-02-29 19:45:31.742 29062-29167/com.android.example.cameraxbasic E/RequestThread-0: Timed out while waiting for request to complete.
2020-02-29 19:45:31.742 29062-29167/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 0
2020-02-29 19:45:31.742 29062-29167/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2020-02-29 19:45:31.744 29062-29167/com.android.example.cameraxbasic E/CameraDeviceState: Cannot call capture while in state: 0
2020-02-29 19:45:32.696 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:32.697 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable
2020-02-29 19:45:33.697 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:33.698 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable
2020-02-29 19:45:34.698 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:34.699 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable
2020-02-29 19:45:35.703 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:35.706 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable
2020-02-29 19:45:35.789 29062-29167/com.android.example.cameraxbasic E/RequestThread-0: Timed out while waiting for request to complete.
2020-02-29 19:45:35.789 29062-29167/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 0
2020-02-29 19:45:35.789 29062-29167/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2020-02-29 19:45:35.799 29062-29167/com.android.example.cameraxbasic E/CameraDeviceState: Cannot call capture while in state: 0
2020-02-29 19:45:36.541 29062-29132/com.android.example.cameraxbasic D/Camera: Use cases [Preview:androidx.camera.core.Preview-18e87669-99cf-4b7f-aff9-05e15d0cf2e3, ImageCapture:androidx.camera.core.ImageCapture-d43b50a7-e06e-4c43-ac26-5f4876401b07, ImageAnalysis:androidx.camera.core.ImageAnalysis-a98eabb0-f766-464d-8aa9-e02e7ae0d6ad] now OFFLINE for camera 0
2020-02-29 19:45:36.542 29062-29132/com.android.example.cameraxbasic D/Camera: Resetting Capture Session
2020-02-29 19:45:36.543 29062-29132/com.android.example.cameraxbasic D/Camera: releasing session in state REOPENING
2020-02-29 19:45:36.543 29062-29132/com.android.example.cameraxbasic D/Camera: Closing camera: 0
2020-02-29 19:45:36.543 29062-29132/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: REOPENING --> CLOSING
2020-02-29 19:45:36.545 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 19:45:36.550 29062-29132/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 19:45:36.707 29062-29193/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 19:45:36.707 29062-29193/com.android.example.cameraxbasic E/CameraManagerGlobal: Camera service is unavailable

Edit:
Sometimes the back camera does work after starting the app. However I get an error when I capture a photo:
2020-02-29 20:02:26.044 30927-30927/? I/le.cameraxbasi: Late-enabling -Xcheck:jni
2020-02-29 20:02:26.101 30927-30927/? E/le.cameraxbasi: Unknown bits set in runtime_flags: 0x8000
2020-02-29 20:02:27.384 30927-30927/com.android.example.cameraxbasic W/le.cameraxbasi: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
2020-02-29 20:02:27.386 30927-30927/com.android.example.cameraxbasic W/le.cameraxbasi: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
2020-02-29 20:02:27.858 30927-30981/com.android.example.cameraxbasic I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/21/15, 369a2ea, I96aee987eb
2020-02-29 20:02:27.873 30927-30981/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 20:02:27.887 30927-30981/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 20:02:27.927 30927-30981/com.android.example.cameraxbasic W/Gralloc3: mapper 3.x is not supported
2020-02-29 20:02:28.163 30927-30927/com.android.example.cameraxbasic D/CameraXBasic: Screen metrics: 1080 x 1920
2020-02-29 20:02:28.163 30927-30927/com.android.example.cameraxbasic D/CameraXBasic: Preview aspect ratio: 1
2020-02-29 20:02:28.222 30927-31002/com.android.example.cameraxbasic I/CameraManagerGlobal: Connecting to camera service
2020-02-29 20:02:28.258 30927-30927/com.android.example.cameraxbasic W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
2020-02-29 20:02:32.459 30927-31002/com.android.example.cameraxbasic D/CameraRepository: Added camera: 0
2020-02-29 20:02:32.532 30927-31002/com.android.example.cameraxbasic I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
2020-02-29 20:02:32.536 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 20:02:32.542 30927-31002/com.android.example.cameraxbasic D/CameraRepository: Added camera: 1
2020-02-29 20:02:32.589 30927-31002/com.android.example.cameraxbasic I/Camera2CameraInfo: Device Level: INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
2020-02-29 20:02:32.589 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 1
2020-02-29 20:02:32.927 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 20:02:32.929 30927-31003/com.android.example.cameraxbasic D/Camera: Use cases [Preview:androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836, ImageCapture:androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d, ImageAnalysis:androidx.camera.core.ImageAnalysis-56466601-ece0-40e6-a223-75ff93847701] now ONLINE for camera 0
2020-02-29 20:02:32.930 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 20:02:32.930 30927-31003/com.android.example.cameraxbasic D/Camera: Resetting Capture Session
2020-02-29 20:02:32.930 30927-31003/com.android.example.cameraxbasic D/Camera: releasing session in state INITIALIZED
2020-02-29 20:02:32.932 30927-31003/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: INITIALIZED --> OPENING
2020-02-29 20:02:32.932 30927-31003/com.android.example.cameraxbasic D/Camera: Opening camera: 0
2020-02-29 20:02:32.933 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: All use case: [androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836, androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d, androidx.camera.core.ImageAnalysis-56466601-ece0-40e6-a223-75ff93847701] for camera: 0
2020-02-29 20:02:32.980 30927-31003/com.android.example.cameraxbasic I/CameraManager: Using legacy camera HAL.
2020-02-29 20:02:33.487 30927-31003/com.android.example.cameraxbasic D/Camera: Use case Preview:androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836 ACTIVE for camera 0
2020-02-29 20:02:33.488 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836] for camera: 0
2020-02-29 20:02:33.490 30927-31003/com.android.example.cameraxbasic D/Camera: Use case ImageCapture:androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d ACTIVE for camera 0
2020-02-29 20:02:33.492 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836, androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d] for camera: 0
2020-02-29 20:02:33.493 30927-31003/com.android.example.cameraxbasic D/Camera: Use case ImageAnalysis:androidx.camera.core.ImageAnalysis-56466601-ece0-40e6-a223-75ff93847701 ACTIVE for camera 0
2020-02-29 20:02:33.495 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836, androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d, androidx.camera.core.ImageAnalysis-56466601-ece0-40e6-a223-75ff93847701] for camera: 0
2020-02-29 20:02:33.497 30927-31003/com.android.example.cameraxbasic D/Camera: CameraDevice.onOpened(): 0
2020-02-29 20:02:33.504 30927-31003/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: OPENING --> OPENED
2020-02-29 20:02:33.508 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: All use case: [androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836, androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d, androidx.camera.core.ImageAnalysis-56466601-ece0-40e6-a223-75ff93847701] for camera: 0
2020-02-29 20:02:33.518 30927-31003/com.android.example.cameraxbasic D/CaptureSession: Opening capture session.
2020-02-29 20:02:33.545 30927-31003/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CONFIGURING
2020-02-29 20:02:33.546 30927-31068/com.android.example.cameraxbasic I/RequestThread-0: Configure outputs: 3 surfaces configured.
2020-02-29 20:02:33.547 30927-31068/com.android.example.cameraxbasic D/Camera: app passed NULL surface
2020-02-29 20:02:33.555 30927-31068/com.android.example.cameraxbasic I/RequestThread-0: configureOutputs - set take picture size to 2688x1520
2020-02-29 20:02:33.567 30927-31069/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 20:02:33.569 30927-31069/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2020-02-29 20:02:33.589 30927-31069/com.android.example.cameraxbasic W/Adreno-EGL: <qeglDrvAPI_eglQueryContext:4373>: EGL_BAD_ATTRIBUTE
2020-02-29 20:02:33.590 30927-31069/com.android.example.cameraxbasic E/libc: Access denied finding property "persist.camera.legacy_perf"
2020-02-29 20:02:33.611 30927-31003/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state IDLE
2020-02-29 20:02:33.616 30927-31003/com.android.example.cameraxbasic D/CaptureSession: Attempting to send capture request onConfigured
2020-02-29 20:02:33.616 30927-31003/com.android.example.cameraxbasic D/CaptureSession: Issuing request for session.
2020-02-29 20:02:33.636 30927-31003/com.android.example.cameraxbasic I/RequestQueue: Repeating capture request set.
2020-02-29 20:02:33.637 30927-31003/com.android.example.cameraxbasic D/CaptureSession: CameraCaptureSession.onConfigured() mState=OPENED
2020-02-29 20:02:33.637 30927-31003/com.android.example.cameraxbasic D/CaptureSession: CameraCaptureSession.onReady() OPENED
2020-02-29 20:02:33.650 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: convertRequestMetadata - control.awbRegions setting is not supported, ignoring value
2020-02-29 20:02:33.650 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 20:02:33.651 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 20:02:33.680 30927-31068/com.android.example.cameraxbasic W/Gralloc3: allocator 3.x is not supported
2020-02-29 20:02:33.682 30927-31068/com.android.example.cameraxbasic I/Gralloc2: Adding additional valid usage bits: 0x2202400
2020-02-29 20:02:34.423 30927-31050/com.android.example.cameraxbasic E/Camera: Unknown message type 32780
2020-02-29 20:02:34.426 30927-31069/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state CAPTURING
2020-02-29 20:02:34.434 30927-31069/com.android.example.cameraxbasic W/le.cameraxbasi: Core platform API violation: Ljava/nio/Buffer;->position:I from Landroid/opengl/GLES20; using JNI
2020-02-29 20:02:34.434 30927-31069/com.android.example.cameraxbasic W/le.cameraxbasi: Core platform API violation: Ljava/nio/Buffer;->limit:I from Landroid/opengl/GLES20; using JNI
2020-02-29 20:02:34.434 30927-31069/com.android.example.cameraxbasic W/le.cameraxbasi: Core platform API violation: Ljava/nio/Buffer;->_elementSizeShift:I from Landroid/opengl/GLES20; using JNI
2020-02-29 20:02:34.434 30927-31069/com.android.example.cameraxbasic W/le.cameraxbasi: Core platform API violation: Ljava/nio/Buffer;->address:J from Landroid/opengl/GLES20; using JNI
2020-02-29 20:02:34.741 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 39.525584022671566
2020-02-29 20:02:34.885 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 101.50196652879902
2020-02-29 20:02:35.018 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 101.27132927389705
2020-02-29 20:02:35.182 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 100.63261527267157
2020-02-29 20:02:35.391 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 474569(14MB) AllocSpace objects, 7(1664KB) LOS objects, 49% free, 15MB/30MB, paused 396us total 288.543ms
2020-02-29 20:02:35.391 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.71969784007354
2020-02-29 20:02:35.534 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 97.6759516697304
2020-02-29 20:02:35.669 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 97.94443550857844
2020-02-29 20:02:35.822 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 601715(15MB) AllocSpace objects, 3(1536KB) LOS objects, 50% free, 15MB/30MB, paused 183us total 118.499ms
2020-02-29 20:02:35.840 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 97.35503982843137
2020-02-29 20:02:35.968 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 100.15721890318628
2020-02-29 20:02:36.101 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 100.14453507965686
2020-02-29 20:02:36.300 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.64274662990196
2020-02-29 20:02:36.325 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 412385(10MB) AllocSpace objects, 2(1024KB) LOS objects, 21% free, 24MB/30MB, paused 152us total 194.915ms
2020-02-29 20:02:36.429 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 98.30264054840686
2020-02-29 20:02:36.651 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 98.91826363357843
2020-02-29 20:02:36.719 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 806927(20MB) AllocSpace objects, 4(2048KB) LOS objects, 49% free, 14MB/29MB, paused 152us total 253.295ms
2020-02-29 20:02:36.792 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.04499655330882
2020-02-29 20:02:36.920 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 98.98184934129903
2020-02-29 20:02:37.047 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 98.99572993259804
2020-02-29 20:02:37.154 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 612427(15MB) AllocSpace objects, 3(1536KB) LOS objects, 48% free, 15MB/29MB, paused 183us total 104.492ms
2020-02-29 20:02:37.213 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.21511757046568
2020-02-29 20:02:37.347 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.00532322303921
2020-02-29 20:02:37.485 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.1787473192402
2020-02-29 20:02:37.700 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.11353592218137
2020-02-29 20:02:37.712 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 409596(10MB) AllocSpace objects, 2(1024KB) LOS objects, 17% free, 23MB/29MB, paused 152us total 224.517ms
2020-02-29 20:02:37.851 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 98.94086818321078
2020-02-29 20:02:38.009 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 814038(20MB) AllocSpace objects, 4(2048KB) LOS objects, 49% free, 10063KB/19MB, paused 122us total 154.388ms
2020-02-29 20:02:38.041 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.05144761029412
2020-02-29 20:02:38.179 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.01599264705882
2020-02-29 20:02:38.414 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.07226945465686
2020-02-29 20:02:38.464 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 206612(5451KB) AllocSpace objects, 1(512KB) LOS objects, 0% free, 19MB/19MB, paused 152us total 248.718ms
2020-02-29 20:02:38.634 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.14939299938726
2020-02-29 20:02:38.756 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 411423(10MB) AllocSpace objects, 2(1024KB) LOS objects, 50% free, 15MB/31MB, paused 122us total 290.069ms
2020-02-29 20:02:38.788 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.27258731617647
2020-02-29 20:02:38.919 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.38007046568627
2020-02-29 20:02:39.043 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.50033892463236
2020-02-29 20:02:39.214 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 615240(15MB) AllocSpace objects, 3(1536KB) LOS objects, 49% free, 15MB/31MB, paused 152us total 143.035ms
2020-02-29 20:02:39.218 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.46938189338235
2020-02-29 20:02:39.349 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.3121151194853
2020-02-29 20:02:39.476 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.39464422487745
2020-02-29 20:02:39.686 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.39160922181372
2020-02-29 20:02:39.769 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 821693(20MB) AllocSpace objects, 4(2048KB) LOS objects, 49% free, 14MB/29MB, paused 183us total 263.427ms
2020-02-29 20:02:39.854 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.43695427389706
2020-02-29 20:02:40.002 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 99.55315372242647
2020-02-29 20:02:40.159 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 100.43513518688725
2020-02-29 20:02:40.353 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 100.44251302083333
2020-02-29 20:02:40.502 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 102.43326631433824
2020-02-29 20:02:40.655 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 103.96486098345588
2020-02-29 20:02:40.886 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 105.28259420955882
2020-02-29 20:02:40.892 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 434953(10MB) AllocSpace objects, 2(1024KB) LOS objects, 19% free, 23MB/29MB, paused 152us total 233.734ms
2020-02-29 20:02:41.034 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 107.58138978247548
2020-02-29 20:02:41.180 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 864869(21MB) AllocSpace objects, 4(2048KB) LOS objects, 49% free, 10MB/20MB, paused 152us total 143.066ms
2020-02-29 20:02:41.205 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 109.36551585477942
2020-02-29 20:02:41.349 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 110.37768841911765
2020-02-29 20:02:41.582 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 109.33998353247549
2020-02-29 20:02:41.615 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 247848(6085KB) AllocSpace objects, 1(512KB) LOS objects, 2% free, 20MB/20MB, paused 274us total 237.335ms
2020-02-29 20:02:41.818 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.60427389705882
2020-02-29 20:02:41.872 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 483323(11MB) AllocSpace objects, 2(1024KB) LOS objects, 49% free, 14MB/29MB, paused 91us total 255.065ms
2020-02-29 20:02:41.966 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 93.01378676470588
2020-02-29 20:02:42.109 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 88.27184627757353
2020-02-29 20:02:42.254 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 126.47647824754903
2020-02-29 20:02:42.370 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 624140(15MB) AllocSpace objects, 3(1536KB) LOS objects, 44% free, 16MB/29MB, paused 579us total 112.792ms
2020-02-29 20:02:42.436 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 126.36543926164215
2020-02-29 20:02:42.587 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 110.33069278492647
2020-02-29 20:02:42.733 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 106.88809551164216
2020-02-29 20:02:42.943 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 108.73690065870097
2020-02-29 20:02:42.953 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 740462(17MB) AllocSpace objects, 3(1536KB) LOS objects, 49% free, 19MB/38MB, paused 732us total 276.580ms
2020-02-29 20:02:43.088 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 108.33362630208333
2020-02-29 20:02:43.223 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 107.81536649816177
2020-02-29 20:02:43.363 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 107.66659964767157
2020-02-29 20:02:43.493 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 937796(22MB) AllocSpace objects, 4(2048KB) LOS objects, 57% free, 16MB/38MB, paused 152us total 117.156ms
2020-02-29 20:02:43.542 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 107.98349992340687
2020-02-29 20:02:43.673 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 108.21912147671569
2020-02-29 20:02:43.837 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 107.55194355085784
2020-02-29 20:02:43.896 30927-30927/com.android.example.cameraxbasic D/ImageCapture: Size of image capture request queue: 0
2020-02-29 20:02:43.899 30927-31003/com.android.example.cameraxbasic D/Camera: issue capture request for camera 0
2020-02-29 20:02:43.900 30927-31003/com.android.example.cameraxbasic D/CaptureSession: Issuing capture request.
2020-02-29 20:02:43.915 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: convertRequestMetadata - control.awbRegions setting is not supported, ignoring value
2020-02-29 20:02:43.915 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 20:02:43.915 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 20:02:43.982 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 106.82344898897058
2020-02-29 20:02:44.196 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 106.03770488664216
2020-02-29 20:02:44.240 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 696932(16MB) AllocSpace objects, 4(1556KB) LOS objects, 41% free, 22MB/38MB, paused 183us total 245.056ms
2020-02-29 20:02:48.081 30927-31068/com.android.example.cameraxbasic E/RequestThread-0: Hit timeout for jpeg callback!
2020-02-29 20:02:48.082 30927-31068/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 1
2020-02-29 20:02:48.163 30927-31170/com.android.example.cameraxbasic E/ImageCapture: takePictureInternal onFailure
    androidx.camera.core.ImageCapture$CaptureFailedException: Capture request failed with reason ERROR
        at androidx.camera.core.ImageCapture$8.onCaptureFailed(ImageCapture.java:1250)
        at androidx.camera.camera2.internal.CaptureCallbackAdapter.onCaptureFailed(CaptureCallbackAdapter.java:64)
        at androidx.camera.camera2.internal.CameraBurstCaptureCallback.onCaptureFailed(CameraBurstCaptureCallback.java:70)
        at android.hardware.camera2.impl.CameraCaptureSessionImpl$1.lambda$onCaptureFailed$4$CameraCaptureSessionImpl$1(CameraCaptureSessionImpl.java:654)
        at android.hardware.camera2.impl.-$$Lambda$CameraCaptureSessionImpl$1$VsKq1alEqL3XH-hLTWXgi7fSF3s.run(Unknown Source:8)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2020-02-29 20:02:48.167 30927-30927/com.android.example.cameraxbasic E/CameraXBasic: Photo capture failed: Capture request failed with reason ERROR
    androidx.camera.core.ImageCaptureException: Capture request failed with reason ERROR
        at androidx.camera.core.ImageCapture$ImageCaptureRequest.lambda$notifyCallbackError$1$ImageCapture$ImageCaptureRequest(ImageCapture.java:1911)
        at androidx.camera.core.-$$Lambda$ImageCapture$ImageCaptureRequest$1G7WSvt8TANxhZtOyewefm68pg4.run(Unknown Source:8)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: androidx.camera.core.ImageCapture$CaptureFailedException: Capture request failed with reason ERROR
        at androidx.camera.core.ImageCapture$8.onCaptureFailed(ImageCapture.java:1250)
        at androidx.camera.camera2.internal.CaptureCallbackAdapter.onCaptureFailed(CaptureCallbackAdapter.java:64)
        at androidx.camera.camera2.internal.CameraBurstCaptureCallback.onCaptureFailed(CameraBurstCaptureCallback.java:70)
        at android.hardware.camera2.impl.CameraCaptureSessionImpl$1.lambda$onCaptureFailed$4$CameraCaptureSessionImpl$1(CameraCaptureSessionImpl.java:654)
        at android.hardware.camera2.impl.-$$Lambda$CameraCaptureSessionImpl$1$VsKq1alEqL3XH-hLTWXgi7fSF3s.run(Unknown Source:8)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2020-02-29 20:02:48.225 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: convertRequestMetadata - control.awbRegions setting is not supported, ignoring value
2020-02-29 20:02:48.225 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 20:02:48.225 30927-31068/com.android.example.cameraxbasic W/LegacyRequestMapper: Only received metering rectangles with weight 0.
2020-02-29 20:02:48.447 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.2994504442402
2020-02-29 20:02:48.591 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.35975605085784
2020-02-29 20:02:48.834 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.47278837316176
2020-02-29 20:02:48.866 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 1135179(27MB) AllocSpace objects, 6(2580KB) LOS objects, 49% free, 13MB/27MB, paused 122us total 237.762ms
2020-02-29 20:02:48.984 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.40462622549019
2020-02-29 20:02:49.122 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.20990349264706
2020-02-29 20:02:49.368 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.44809091605393
2020-02-29 20:02:49.443 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 441108(10MB) AllocSpace objects, 2(1024KB) LOS objects, 22% free, 20MB/27MB, paused 152us total 264.007ms
2020-02-29 20:02:49.519 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.85915479473039
2020-02-29 20:02:49.753 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 104.99008693321079
2020-02-29 20:02:49.877 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background concurrent copying GC freed 664298(16MB) AllocSpace objects, 3(1536KB) LOS objects, 49% free, 16MB/32MB, paused 122us total 306.793ms
2020-02-29 20:02:49.907 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 105.46162492340686
2020-02-29 20:02:50.038 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 106.03481158088235
2020-02-29 20:02:50.178 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 105.78501072303922
2020-02-29 20:02:50.335 30927-30955/com.android.example.cameraxbasic I/le.cameraxbasi: Background young concurrent copying GC freed 672572(16MB) AllocSpace objects, 3(1536KB) LOS objects, 49% free, 16MB/32MB, paused 244us total 126.159ms
2020-02-29 20:02:50.356 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 106.16670113357843
2020-02-29 20:02:50.483 30927-31092/com.android.example.cameraxbasic D/CameraXBasic: Average luminosity: 106.61016390931373
2020-02-29 20:02:53.014 30927-31003/com.android.example.cameraxbasic D/Camera: Use cases [Preview:androidx.camera.core.Preview-f1b12faa-a9d4-44e2-b303-4f547de16836, ImageCapture:androidx.camera.core.ImageCapture-6cface38-51aa-4fe8-97b8-805ff75c817d, ImageAnalysis:androidx.camera.core.ImageAnalysis-56466601-ece0-40e6-a223-75ff93847701] now OFFLINE for camera 0
2020-02-29 20:02:53.015 30927-31003/com.android.example.cameraxbasic D/Camera: Resetting Capture Session
2020-02-29 20:02:53.016 30927-31003/com.android.example.cameraxbasic I/RequestQueue: Repeating capture request cancelled.
2020-02-29 20:02:53.018 30927-31003/com.android.example.cameraxbasic D/Camera: releasing session in state OPENED
2020-02-29 20:02:53.018 30927-31003/com.android.example.cameraxbasic D/Camera: Closing camera: 0
2020-02-29 20:02:53.018 30927-31003/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: OPENED --> CLOSING
2020-02-29 20:02:53.019 30927-31003/com.android.example.cameraxbasic D/Camera: Resetting Capture Session
2020-02-29 20:02:53.019 30927-31003/com.android.example.cameraxbasic D/Camera: releasing session in state CLOSING
2020-02-29 20:02:53.022 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 20:02:53.023 30927-31003/com.android.example.cameraxbasic D/UseCaseAttachState: Active and online use case: [] for camera: 0
2020-02-29 20:02:54.298 30927-31068/com.android.example.cameraxbasic E/RequestThread-0: Timed out while waiting for request to complete.
2020-02-29 20:02:54.299 30927-31068/com.android.example.cameraxbasic W/RequestHolder: Capture failed for request: 0
2020-02-29 20:02:54.301 30927-31003/com.android.example.cameraxbasic D/CaptureSession: CameraCaptureSession.onClosed()
2020-02-29 20:02:54.305 30927-31068/com.android.example.cameraxbasic I/CameraDeviceState: Legacy camera service transitioning to state IDLE
2020-02-29 20:02:54.317 30927-31069/com.android.example.cameraxbasic E/Legacy-CameraDevice-JNI: getNativeWindow: Surface had no valid native window.
2020-02-29 20:02:54.328 30927-31068/com.android.example.cameraxbasic E/Legacy-CameraDevice-JNI: getNativeWindow: Surface had no valid native window.
2020-02-29 20:02:54.487 30927-31068/com.android.example.cameraxbasic E/BufferQueueProducer: [SurfaceTexture-1-30927-1] cancelBuffer: BufferQueue has been abandoned
2020-02-29 20:02:54.491 30927-31068/com.android.example.cameraxbasic I/chatty: uid=10090(com.android.example.cameraxbasic) RequestThread-0 identical 4 lines
2020-02-29 20:02:54.492 30927-31068/com.android.example.cameraxbasic E/BufferQueueProducer: [SurfaceTexture-1-30927-1] cancelBuffer: BufferQueue has been abandoned
2020-02-29 20:02:56.324 30927-30927/com.android.example.cameraxbasic D/CameraXBasic: Rotation changed: 0
2020-02-29 20:02:56.613 30927-31051/com.android.example.cameraxbasic W/le.cameraxbasi: Long monitor contention with owner CameraX- (31003) at void java.lang.Object.wait(long, int)(Object.java:-2) waiters=0 in void android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onDeviceIdle() for 2.306s
2020-02-29 20:02:56.613 30927-31003/com.android.example.cameraxbasic D/Camera: CameraDevice.onClosed(): 0
2020-02-29 20:02:56.613 30927-31003/com.android.example.cameraxbasic D/Camera: Transitioning camera internal state: CLOSING --> INITIALIZED

Thanks for reporting this! Can you confirm if the camera app that came preinstalled with your device displays the preview correctly? How about other third party apps?

I have custom ROM installed (LineageOS). The preinstalled camera is Footej Camera 2.4.10. The preview and capturing always work with this app. Other apps like for example Lightening QR (to scan a QR code), Google Duo (for video conference) etc. also work fine from the first instance.

Unfortunately, we can't guarantee support for custom ROMs since they may not pass CTS (Android's compatibility testing suite). Please reopen if you can reproduce this issue on a certified Android device; you could try installing a Generic System Image for example.

authors: owahltinez zsoerenm

repo: android/camera-samples


text:
IllegalStateException in MediaController.notifyAccepted()

Hi. I noticed the following crash report in Crashlytics for my app.
Example stack trace (copied from Firebase Crashlytics)
Fatal Exception: java.lang.IllegalStateException
       at androidx.media3.common.util.Assertions.checkState(Assertions.java:85)
       at androidx.media3.session.MediaController.notifyAccepted(MediaController.java:1800)
       at androidx.media3.session.MediaControllerImplLegacy.updateControllerInfo(MediaControllerImplLegacy.java:1357)
       at androidx.media3.session.MediaControllerImplLegacy.handleNewLegacyParameters(MediaControllerImplLegacy.java:1318)
       at androidx.media3.session.MediaControllerImplLegacy.access$500(MediaControllerImplLegacy.java:109)
       at androidx.media3.session.MediaControllerImplLegacy$ControllerCompatCallback.onSessionReady(MediaControllerImplLegacy.java:1559)
       at android.support.v4.media.session.MediaControllerCompat$Callback$MessageHandler.handleMessage(MediaControllerCompat.java:1121)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7386)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)

Where the exception thrown
https://github.com/androidx/media/blob/f92ae23dd83533bce93c7a937f2fa40ce810f207/libraries/session/src/main/java/androidx/media3/session/MediaController.java#L1800
Library versions

androidx.media3: Built from source (Commit ID: f92ae23dd83533bce93c7a937f2fa40ce810f207)
androidx.media: v1.5.0

Affected Android versions  (obtained info from Firebase Crashlytics)

Android 8, 9, 10, 11 and 12
(older OS might also be affected)

How to reproduce the issue?
Sorry, I have not succeeded in reproducing the issue yet. I'll post details if I can get any info.

We are also reproducing this issue for several of our users

@tonihei Thanks for the fix in 1.0.0-beta03. I no longer see the app crashes due to this error anymore :+1:

repo: androidx/media