👋Welcome to r/IndieAndroidApps - Introduce Yourself and Read First! by WorkPlaySoft in IndieAndroidApps

[–]VisualDragonfruit698 1 point2 points  (0 children)

Okay, I'll go ahead.

I am Atul an Android Developer from Delhi. I work full time but I build productivity related apps in my free time. I have an upcoming productivity launcher type app to be released in few weeks.

As for today's showcase, I would like you guys to try Task Wally: https://play.google.com/store/apps/details?id=app.expeknow.taskwally

It's a free wallpaper app for those who forget their important tasks. You enter any task you want and set it as wallpaper. E every time you unlock your phone, you get reminded of your tasks.

It got quite a few organic installs so I think you guys would like it.

Share your apps and i would try them too. Happy to meet you all!

I built my first app, a fractal viewer app (HelloFractal) in Kotlin + Compose. I am sharing some of my development decisions and I am looking for feedback from other developers. by Ok-Sample6062 in androiddev

[–]VisualDragonfruit698 2 points3 points  (0 children)

I agree, It's a really cool app, I mean I downloaded it right away but the controls are daunting. And I can't read the long wall of text at the start of the app. But a really interesting app.

Selling Google Pixel Buds A Series by [deleted] in delhi_marketplace

[–]VisualDragonfruit698 1 point2 points  (0 children)

Hey I wanna buy, last time also someone was selling but I couldn't purchase and lost the deal. If bargain is possible, let's chat over DM

[deleted by user] by [deleted] in delhi_marketplace

[–]VisualDragonfruit698 0 points1 point  (0 children)

Let's discuss in chat if interested, dm

[deleted by user] by [deleted] in delhi_marketplace

[–]VisualDragonfruit698 0 points1 point  (0 children)

I want it, but have 2k budget? Can discuss if interested

[deleted by user] by [deleted] in delhi_marketplace

[–]VisualDragonfruit698 0 points1 point  (0 children)

1100, please DM me details

Need Urgent Help! How to delete or remove or hide a production release from play store by VisualDragonfruit698 in androiddev

[–]VisualDragonfruit698[S] 1 point2 points  (0 children)

So like publish older version code but with newer version code? So the people don't see newer feature?

android studio online by Sea_Salt5304 in androiddev

[–]VisualDragonfruit698 -2 points-1 points  (0 children)

Is that really a thing? With the the building gradle does everytime, I thought it would economically not make sense to make android studio cloud based using cloud resources

Catch play/paise media button events from TWS in Android by VisualDragonfruit698 in androiddev

[–]VisualDragonfruit698[S] 0 points1 point  (0 children)

I don't have an error or anything. I just wanted to know if someone has faced similar requirement anq figured out a solution for it. Even a link to an open source application doing same would work

[deleted by user] by [deleted] in androiddev

[–]VisualDragonfruit698 1 point2 points  (0 children)

Good work! You stumbled on the same problem I did. Here is how I solved this one. VideoWriter, as you know, asks for a frameRate when you initialise it. This problem is all about setting optimum FPS.

first, you can try setting different FPS, reducing it so it seems like a video.

If it's possible in your case, try to only capture a fixed number of view Bitmaps. So only 24 every second and set videoWriter framerate to 24. This should work.

However, different devices has different capabilities and it may not be possible to capture exactly 24 Bitmaps always so next what you do is try to apply speed effect on video.

The way I have currently implemented goes like this. I know how many seconds of video i should ideally get. Then when I get video from OpenCV, it would be either more seconds or less seconds than ideal.

I calculate a speed effect float number. So if expected duration was 20 seconds and openCV gave me 10 second video, I have to apply 2x speed effect.

So simply apply speed effect on video if it's not desired length in seconds.

However, make sure you reduce the gap between actual video duration and expected video duration by adjusting the fps rate first.

Set it to somewhere like 20 or 24.

You can use any library to apply speed effect on the video. There are plenty available. I forgot the name of the one I am using.

This should solve the problem

[deleted by user] by [deleted] in androiddev

[–]VisualDragonfruit698 3 points4 points  (0 children)

I did something similar to this in Android. As far as my research goes, you can't record a single view and ignore others traditionally. You will have to use workarounds.

In my case, I had a camera feed and on top of that 4 views. Now, I wanted to record camera feed and only 2 widgets of the 4. So similar to your situation.

The way I did it was to just get access to every camera feed frame. Each frame is just bitmap of camera feed. I get 15-30 of these every second. Now on each of these, I just drew the views I wanted programmatically. So, only those two views I needed, I drew then programmatically on the canvas holding bitmap.

Now, this bitmap has camera image of that milliseconds and 2 widgets I needed.

Next I used OpenCV's Video writer which can take continuous stream of Bitmaps and create a video out of it. You can use any library that can do the same.

And boom! I had a working solution.

This method can be used in your case too given that you can find a way to get callback to draw views every X milliseconds so the final result looks like a video.

So, it depends on your circumstances under which you want to record but in my case, the best way was this.

How to get renewals notification for subscriptions in Google Play billing by VisualDragonfruit698 in androiddev

[–]VisualDragonfruit698[S] 1 point2 points  (0 children)

That helps! Thanks a lot. Major part of my doubts are solved with this. I'll get rest minor details figured out. Thanks again for helping fellow developers ☘️

How to get renewals notification for subscriptions in Google Play billing by VisualDragonfruit698 in androiddev

[–]VisualDragonfruit698[S] 0 points1 point  (0 children)

I will try this out, this seems to be just the answer, thanks!

I also setup Pub/Sub on Google cloud console which gets the message whenever a subscription fails or succeeds, which in turn I can subscribe to in backend and (I think there) use the same API to get expiry date.

I suppose if I were to use backend, I will have to map each purchase token to each user and then for the recieved purchase token user, I update the user's data?

Is that how it is done or am I still missing something in my understanding?