• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

  • Question Question
Nokia 5.4 bootloop

I have my mother her phone here. It's a Nokia 5.4 with Android one. It's stuck on the Nokia logo. When I press volume up and start button I get the little Adroid guy and a no command text. When I press volume down and start button I get the options power off, Start, restart bootloader, recovery mode. Non of those help anything.
The bootloader and baseband version are empty. Not sure how to go from here. I would think trying a hard reset and use some software to atleast get (some) of her pictures bak was the easiest thing to do however there is no factory reset option. I hope someone can help me. She is 88 and eventhough she doesnt really understand her phone, she likes to play a game and take pictures on it.

"We've detected that this app is using an unsupported version of Play billing. Please upgrade to Billing Library 5 or newer to release this app."

Hey everyone, just encountered an issue right on the cusp of releasing a game. When I try to upload my game to the playstore, it comes up with the error "We've detected that this app is using an unsupported version of Play billing. Please upgrade to Billing Library 5 or newer to release this app.". By default Unreal 5.0 has version 3, my game doesn't include any form of transactions and I'm unclear if I can circumvent this step if I find out how to turn off microtransactions in engine. I've looked through all I could find related to this error but unfortunately nothing has worked so far. If anyone has experience with how to fix this, I would greatly appreciate it. Thanks for reading

Brain Fart of the Day

We all have those brain fart moments and as I get older they seem more frequent. I thought it would be fun to share those brain farts to lessen that "I can't believe I did that" feeling. Don't leave me hangin' here... share yours.

I'll start. The other day I was working on a mower. When I went to replace the screws I had removed, I couldn't find my screwdriver. I just had it.... I retraced all of my steps looking for it. It was just gone. I finally gave up and went to the shed to get another screwdriver. After I finished replacing the screws I put the screwdriver in my back pocket. It was at that moment that I found the missing screwdriver.. it was also in my back pocket.

A bonus brain fart while I'm talking about mowers. I mow commercially and haul my mowers in a traditional mowing trailer with a drop down ramp in the rear. A number of years ago I was mowing the deep well pump stations for the city. They are all located out in the country. I finished my last station and headed back into town driving over three miles at 55mph when I realized I had not put the ramp up. It's a wonder I didn't catch the countryside on fire with all of the sparks I had to be leaving behind me dragging that ramp.

Help Head unit

Hello
can anyone help me update my 10.25 inch android screen?
I'm still stuck on Android 7 and would like to upgrade to 10, 11 or higher.
Below information of the head unit.
Type:JLY_BENZ_C
SERIAL:2234...
APP: V2 0.3.041h
System: V3.32.290410
MCU: BENZ_V4.1C_0413_AU
CAN:BENZ-V1.0-190220
I would be happy to provide you with further information.
Thank you in advance for your help.

  • Question Question
Vortex T10M Pro Not Recognizing Installed SD Card

Cool tablet, but I really want to put a bunch of books on an SD card and use it to read them. However, I have tried several different SD cards, formatted according to the instructions, but this tablet does not recognize any of them. Further, the instructions and illustrations in the owner's manual for accessing SD card content are completely different from what I am seeing on my tablet. How do I access the SD card installed in my tablet? The manual references a "Settings" option, but none of the settings options I see on this tablet contain any information about the installed SD card. Thanks in advance.

Best way to protect phone camera lens?

I got the Galaxy S20 Ultra specifically for its beastly camera but over a couple years it got dings and scratches that eventually made it unusable.

I recently got the Pixel 8 Pro and although I prefer the Galaxy cameras (I'm a sucker for zoom), I have lots of features to still explore. I want the lenses on this thing to last longer than my last devices!

I can't imagine that putting a protective anything over the camera would be a good idea since it would inherently obstruct the view. Surely there must be SOME solution aside from being less clumsy?

Any products or tips you can suggest for protecting phone camera lenses without hindering photo and video quality?

And some photos I took kayaking today! Loving the fall colors starting to come in.

PXL_20231020_185655381.jpg

PXL_20231020_192324847.jpg


PXL_20231020_191252642.jpg

PXL_20231020_191745376.jpg

What is the correct thread-safe way to access shared resource?

We are developing on Samsung Tab Active 4 Pro using Android Studio, kotlin and java. We are getting constant at random times app deadlocks. I am not new to developing with threads and synchronization methods however I am very new to Android development. I assume I am doing something wrong and will share what I am doing. But to set up the situation, we are using OSMDroid for the map viewing and are using layers of the map for draw icons that represent aircraft flying over the map. The main android app is done in kotlin and the UDP over ethernet is written in java files. Aircraft telemetry is received at about 1 hz over ethernet inside protobuf packets. The protobuf is received and parsed in a Listener java class using a thread and implemented in the run() method. In the udp handler where we receive and parse protobuf we call a kotlin object "class" (unfortunate use of terms with kotlin) that has a method UpdateEntity(). Here is a snippet of this code that handles a proto message type called Entity. EntityClass is the java wrapper created. This part is working fine, no issues here, just showing for context.

Code:
             if (msg.getMessageTypeEnum() == MessageWrapperClass.MessageWrapper.MessageTypeEnum.MESSAGE_TYPE_ENTITY) {
                    EntityClass.Entity entity = msg.getMessageEntity();
                    Log.d(TAG, "Listener:run (thread): Entity received\"" + entity.toString());

                    // 0 deg points north, vertically in map
                    double heading = Math.atan2(
                            entity.getKinematics().getEastSpeed(),
                            entity.getKinematics().getNorthSpeed()) * 180.0 / Math.PI;
                    // Put to [0,360] range
                    if (heading < 0) {
                        heading += 360.0;
                    }

                    Position position = new Position(
                            heading,
                            entity.getKinematics().getPosition().getLatitudeDeg(),
                            entity.getKinematics().getPosition().getLongitudeDeg(),
                            entity.getKinematics().getPosition().getAltitudeHaeMeters(),
                            0.0);

                    HostileEntity unit = new HostileEntity(
                            Utils.TrimUUID(entity.getEntityID().getValue().toString()),
                            //todo: we need callsign here
                            "red",  //entity.getEntityID().getValue().toString(),
                            position, false);

                    Datasource.INSTANCE.UpdateEntity(unit);   // <---------- This accesses the shared list

                }

Datasource.INSTANCE.UpdateEntity(unit); call accesses the share list. Here is that method in total. Note Datasource is that singleton-like object construct that has all public "static" methods. (I'm a C++ guy mostly :) New to kotlin)

Java:
/**
 * [Datasource] holds the data that is utilized by the UI
 */
object Datasource {

    var currentStatus = ""
    var currentMode = Modes.Nav
    var Settings:SettingsClass = SettingsClass()

    //This is the list of automations
    var AutomationList = mutableListOf<AutomationClass>(
        WTP(),
        EW()
    )

    var TabPages = mutableListOf<String>()
    var TabPageContents = mutableListOf<TabPage>()
    var KillPairs = mutableListOf<KillPair>()
    var SelectedTab:Int = 0
    var newTab:String = ""
    var locklineschanged = false

    val entityUnitListMutex  = Mutex(false)
    val killPairsMutex = Mutex(false)

    /*
    This is the list of units. Any unit added to this list will get added to the map.
     */
    val entityUnitList =  mutableStateListOf<EntityUnit>()

    fun UpdateEntity(entity:EntityUnit)
    {
        if (!entity.isPositionValid()) {
            Log.e(ContentValues.TAG, "Datasource::UpdateEntity " + "Invalid entity passed:")
            return
        }
        entity.lifeTime_ms = System.currentTimeMillis() // update its life time

        try {
            // NOTE - FindEntity() call must remain OUTSIDE of runblocking and mutex because
            // FindEntity also has mutex and we do not want to nest mutex calls. Deadlock may occur
            val existingEntity = FindEntity(entity.id)

            runBlocking {
                entityUnitListMutex.withLock {
                    if (existingEntity != null) {
                        entity.status = existingEntity.status
                        entity.missionCount = existingEntity.missionCount
                        val index = entityUnitList.indexOf(existingEntity)

                        entityUnitList[index] = entity

                    } else {
                        entityUnitList.add(entity)
                    }
                }// end mutex
            }
        }
        catch(e:Exception)
        {
            Log.e(ContentValues.TAG, "Datasource::UpdateEntity " + e.toString())
        }
    }
/*
Find the entity in the list of active entities
 */
fun FindEntity(entityName: String): EntityUnit? {
try {
var returnval: EntityUnit? = null
        runBlocking {
            entityUnitListMutex.withLock {
                for (i in entityUnitList.indices) {
                     if (entityUnitList[i].id == entityName) {
                       returnval = entityUnitList[i]
                       break
                    }
                }
            }// end mutex
        }

        return returnval
} catch (e: Exception) {
Log.e(ContentValues.TAG, "Datasource::FindEntity " + e.toString())

return null
    }
}

My understanding of kotlin and android is that you need to use a coroutine if you want to use a mutex. I used a mutex to protect the shared resource, the entityUnitList of type mutableStateListOf<EntityUnit>

The Listener is started up on the main, UI thread however it uses its own thread to receive udp packets. The call to Datasource::UpdateEntity() is done in that thread, not the UI thread. Datasource is used by the UI thread as well and it needs access to the entityUnitLst to read from. The UI thread does not write to any of the elements in the list nor does it add or subtract elements from that list.

So the problem is the app will lock (not crash and disappear) and be non-responsive or frozen. This happens at various times but typically within a minute or two. My best guess is a thead race condition.
There was someone else developing the UI portions of this app and they said the UI only updates when a data element of it changes. So in UpdateEntity() these two lines do cause a UI refresh.

Code:
entityUnitList[index] = entity
...
entityUnitList.add(entity)

Here is another place accessing that list and is in the UI thread

Code:
fun PutStuffOnMap(
    uiState: FOXUiState, mapView: MapView, onEntityClicked: (entityClicked: String) -> Unit
) {
    try {
        val items = ArrayList<OverlayItem>()

        runBlocking {
            Datasource.entityUnitListMutex.withLock {
                for (i in entityUnitList.indices) {
                    val entity = entityUnitList[i]
                    PlotEntity(mapView, entity)?.let { items.add(it) }
                }
            }// end mutex
        }
. . .

There is more to that function but that function is called from here in a global method tha tis used in the map drawing code.
Java:
@Composable
fun MapRow(
    uiState: FOXUiState,
    onEntityClicked: (entityClicked: String) -> Unit,
    modifier: Modifier = Modifier){
    Row(modifier = modifier) {
        AndroidView(
            factory = { context ->

                MapView(context).apply {
                    SetUpMap( uiState, this, onEntityClicked)
                }
            },
            update = {
                    mapView ->
                PutStuffOnMap( uiState, mapView, onEntityClicked)
            }
        )
    }
}

I am thinking we have a mutex locking unlocking issue where it stays locked and the UI blocks with that runBlocking{ } block waiting for the unlock. The Listener gets in and gets out when updating the entity pretty quick. The only link to the UI thread is Datasource::UpdateEntity(). When we comment out UpdateEntity() we never deaklock or freeze the app. We can even pre-load entityUnitList with entity class elements and interact with them again with no app freeze. Its only when we enable getting movement updates over ethernet (using USB/Ethernet adapter plugged into the tablet) when we freeze the app eventually.

So I think using runBlocking is wrong so what is the correct way to share that entityUnitList over multiple threads safely? We do not have to use a mutex and we could consider other list types that are better with thread synchronization.

-Steve
EDIT wow this post is long, I apologize! Just wanted to give enough details.

"Device Explorer" missing on Android Studio "Giraffe" (M1 Mac)

Android Studio Giraffe | 2022.3.1 Patch 2
MacBook Pro 16" 2021 (Apple Silicon)
Mac OS X Ventura 13.4.1 (c) (22F770820d)

Hello,

Sorry if this is a "stupid" question but I recently installed (just the other day actually) Android Studio on my PC and was able to browse my AVDs filesystem using "Device Explorer" in Android Studio.

However when trying to do the same on my Mac the "folder"-icon is greyed out in "Device Manager" and I can't find "Device Explorer" in the menubar under "Tools".

Attaching printscreen.

Screenshot 2023-10-20 at 20.47.36.png


Am I missing something?

Best Regards - TheSwede86

App for subtitles

Hi.How are you??We are looking for a good application for subtitles on videos we have saved.Just like it is on YouTube.We want subtitles from English to Greek. That's all. We don't want anything more than the application. Two or three we tried didn't do a good job.We don't want screen recording for example etc.That's what we wanted to ask you.
Friendly greetings.

Speech to Text

Speech to Text - offline support

We are looking for a google supported language model that helps in Speech-to-Text recognition for Xamarin MAUI/.NET Style mobile application, which targets both Android and iOS platforms. One of our critical requirements is to ensure this functionality is available in offline mode, as many of our applications cater to offline scenarios.Additionally, our application aims to support a variety of international languages, including English, Russian, Chinese, Portuguese, around 45 languages. Therefore, we are seeking a solution that offers multilingual support, preferably supporting different accents as well.
We would also like to know if google offers any customize services to support the requirements stated above.

type II diabetes

so i just was told that i might have type II diabetes. my doctor needs more lab work to fully determine this. but i have i high sugar levels in my blood. i am to see him in a month from now.

this explains why I have been drinking a lot of liquids. i was always thirsty....which in turns i was peeing a lot as well.

the doc gave me Mitformin which helps reduce the sugars in my blood. i also have to drastically adjust my diet as well. so i am gonna try a low carb diet. with little to no sugars as well......no carb diet is out of the question.......i love my bread too much....lol

so far the medicine and low carbs have reduced the constant peeing back to what seems normal for me.

anybody here is diabetic?
does anybody have any tips you would like to share?

Implementation of Runtime Resource Overlay from Vendor Directory , For my Learning Purpose.

How to Implement Both Static and Dynamic Runtime Resource Overlay for an Android Automotive Product from Vendor Directory of AOSP 12L ?

Using Runtime Resource Overlay, How to change the whole appearance of that Automotive Product, Like the overall Appearance of SystemUI and other Applications.

Can someone please help me with this?

Android 13 fonts

I've just changed to a Motorola g84 5G phone running Android 13 and I
use dark mode wherever possible. I use the Microsoft launcher. I carried
everything forward from my old phone using Google and Microsoft launcher
cloud backups. I've just spent the usual long time setting up the apps
again and my old eyes are taking a hammering from reading settings,
particularly trying to find settings which will enable changing existing
fonts - I can change some of the sizes, but not the font.

One of the fonts used by the new phone (particularly for popup warnings
and instructions) has what I can only describe as "double" and/or
"hollow" letters - the only one I could find to illustrate it is the
Windows font Colonna MT regular. At the tiny sizes on the phone and
particularly as it is often used all in upper case, it is all but
unreadable to me. I didn't see it on my old phone (Android 11 and
Microsoft launcher) at all.

Can anyone tell me a) (out of curiosity) what font it is and b) how the
hell I get rid of it?

Place to download mainstream apps other than Google Play?

I had to change country on my phone to download important apps to use in the country I was living in for a couple of months.

I'm back home now but Google won't let me change back to my original country for a year!

I have important apps to download and use but Google Play states they're not available in my country, which of course is the country I was in.

I think this is absolutely nuts and I'm assuming there was a way to avoid this while downloading the needed apps but it's too late now.

I'm also assuming there's no way around this with Google, other than maybe registering everything under a new Gmail account.

Therefore, is there a website where I can download well known apps without using Google Play?

For example, I'm in the UK and I need to download the EasyJet app.

Thanks very much and hope you can help.

Fire TV Power On proble

Have had Fire TV for months..worked properly. Recently, when I power on the TV, it would not open to the Home Page but to the last app I had used, If I had shut it off without returning to the Home page, it would power-on to that app, and it would be running a movie, tv show that I had never selected. I checked the Power-on setting, and it was set to Open Home Page. I did resets, checked for updates, etc., no difference. I called was on the line with a CR who was apparently new, and had difficulty understanding my problem. After being on hold forever, he suggested resetting to factory, but said he doubted that would solve the problem, and I would have to re-download and set up everything. There were several posts about this on another forum, but the thread was closed, and there was no solution. I have Fire Sticks, and they all work fine. This is, at the very least, an annoyance, altho otherwise things are working properly.

Mouse for games - fails to work in some

I plugged a USB corded mouse into an OTG adapter into my Android's USB. It works fine in the OS, in the game Merge Mansion, and in the shopping app AliExpress. But the two games within the AliExpress app, the mouse is ignored. Is there a way games can access the touchscreen input directly so they don't see a USB mouse? Can this be corrected somehow? Would a bluetooth mouse work better?

I tried the emulator Octopus (an Android app which makes the mouse behave as the touchscreen in the game), but Aliexpress closes quickly within it, just as it closes quickly within Bluestacks on the PC, it seems to hate being fiddled with.

Samsung Fold5-One UI 6.0 Beta 3 is up!

Seven days after Samsung's release of their second Fold5 Beta test firmware for Android 14, One UI 6.0, they are rolling out their third Beta test release, ZWJ8, to enrolled users.


Build = F946BXXU1ZWJ8

Download = 711.97 MB

Build date = 16 October 2023

Camera version = 14.0.00.30

Security patch = 01 October 2023


It is a FOTA, (Firmware Over The Air), update and you can check... Settings > Software update... to see if it is available for you. Alternatively, you can connect to the Samsung PC suite, Smart Switch and check via that.



Software information

FOLD5 BETA 3 ZWJ8 Screenshot_20231019_045252_Settings.jpg

Combined roll-out to eligible international, F946B, and U.S.A. unlocked, F946U1, devices.

See, also... Wipe Cache Partition, Repair apps & Galaxy App Booster

Filter

Back
Top Bottom