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

[Free][App] Crazy Ball Sort Puzzle

Thank you olbriar :).

I have a small question. When I try to edit my thread (add a picture), I receive error :
The following error occurred:
Your content can not be submitted. This is likely because your content is spam-like or contains inappropriate elements. Please change your content or try again later. If you still have problems, please contact an administrator.

Help Can I set ask for password before opening an app?/file?

On the Note 8, you can password protect apps... or, easier, just use that app in the Secure Folder.

The Secure Folder is like a separate phone, with Knox protection. You can have, for example, a social media app on your usual home screen; and a second copy of the app, with a different account, in the Secure Folder. If you have an app that you don't want to have access to your contacts, gallery, etc, just install it in the Secure Folder and it will only have access to what's in that folder.

I have 1 SIM card (1 mobile number) and 1 whatsapp, 1 telegram, 1 sms message icon, not using Secure Folder now. If I use secure folder, can I have another whatsapp, telegram and sms icon in my Secure Folder?

Removed apps - Constant data use

It's still an impossibility for an app that has been removed to use data. So either this is being misreported or you are misunderstanding what it is showing. And for any data usage before you installed it Glasswire can only be showing what the system has recorded, so it's no surprise if they show the same.

Does that removed app usage look different if you look at different days? Just wondering whether the system records when data from apps that are no longer installed were used? See what it looks like tomorrow.

VLC for Android issues

I used to love VLC.
But those days are over for me.

Anyway, you can easily get a previous version of the app and have things exactly the way they were before.

If you use Google Play, you MUST turn off 'auto-update apps' in the settings, otherwise the app will be constantly updated to a new version.

VLC (The best video and music player. Fast and “just works”, plays any file) - https://f-droid.org/app/org.videolan.vlc

Scroll down to the bottom, and click on 'versions'.
Yeah, you may need to check out a few to find the one you want- but it is worth it.

https://vlc.en.uptodown.com/android

Click on 'older versions' to find the one that works for you.

Power users, especially Linux: great file manager(s)?

Welcome to Android Forums, dgilluly! :)

Yes, ES was yanked from the Play Store last year, after it was discovered to be phoning home to China. :o Pity, because I really liked it. It is still being developed, and it's available in Apple's app store:

Screenshot_20200508-105426.png


...but Google wants no part of it. Heads-up: if you press the 'phone' button on their site, it will download an APK file that you can install. Don't. It's not worth the risk. They promised a year ago that they would fix the problem and be back in the PS...but it hasn't happened.

I have a Moto, too--but its stock Files app is so pathetic, I don't even have it in my app drawer! :D

How to stop BT autoplay upon reconnect

I'm sure someone else was reporting the same thing happening with a Samsung phone and connecting to a vehicle BT system, with the media playing automatically.

Can't remember if there was a definite solution or not. And it's not something I've ever encountered myself. So I'm pretty sure it's not a general Android issue, and very well could be a Samsung specific "feature".

I use Foobar2000 for my listening, and that does have a specific setting to start playing when headphones are plugged in, which is OFF by default.

I think it was me.
My stepmom has a Samsung, and my father had taken me somewhere in their shared car.

When we pulled back into the driveway, her phone automatically linked to the car- because she always leaves her bluetooth on.

I don't think it is just a Samsung thing, because the same thing happens to me with my ZTE if I leave bluetooth on when getting in and out of my ol'lady's car when we travel.

I am surprised to see how many people leave bluetooth on all the time.

I can not find app folder ,please help

There are some caveats to rooting that others aren't mentioning that I thought I'd share. If you use any apps that rely on Android SafetyNet, you will no longer be able to install those apps through the Play Store. Which means you have to find the APK's for them and enable Unknown Sources. With that method that involves manually updating the application. Apps I've had to do this with in the past included Netflix and Snapchat. For that reason I don't have a rooted phone anymore. I mean there's ways to root it to get around that, but it's very manufacturer and model specific, meaning you have to have a device from a company, that is okay with their users rooting the device. Most aren't.

To answer where you can find the app's files, most apps do typically install in the data partition (user accessible), with the exception of built in apps, and manufacturer installed apps which will be in the oem partition (not user accessible). Typically app files nest inside of Internal Storage (or SD if your app is installed to a card) -> Android -> Data. What folder the app is in is in a typical reverse domain or subdomain format. For instance, parts of the Facebook app are in folders that start with "com.Facebook..." Where this gets tricky, is sometimes the app's name isn't involved in this folder structure. Instead it can be a website that belongs to the person that developed the app.

Hope this helps.

How could I use multiple radiogroup in an app?

Hello,
in my app, i want to use 4 radiogroup (each radiogroup contains 2 radiobuttons):
Code:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <RadioGroup
            android:id="@+id/estate_type_radio_group_1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="16dp"
            android:layout_marginEnd="8dp"
            android:layout_marginRight="8dp"
            android:checkedButton="@+id/filter_estate_type_a"
            android:orientation="horizontal"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/sleeping_room_range_seek_bar">

            <RadioButton
                android:id="@+id/filter_estate_type_h"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/house_with_state_48"
                android:drawableLeft="@drawable/house_with_state_48"
                android:text="@string/house" />

            <RadioButton
                android:id="@+id/filter_estate_type_a"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/apartment_with_state_48"
                android:drawableLeft="@drawable/apartment_with_state_48"
                android:text="@string/apartment" />

        </RadioGroup>

        <RadioGroup
            android:id="@+id/estate_type_radio_group_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:orientation="horizontal"

            app:layout_constraintEnd_toEndOf="@+id/estate_type_radio_group_1"
            app:layout_constraintStart_toStartOf="@+id/estate_type_radio_group_1"
            app:layout_constraintTop_toBottomOf="@+id/estate_type_radio_group_1"
            >

            <RadioButton
                android:id="@+id/filter_estate_type_s"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/studio_with_state_48"
                android:drawableLeft="@drawable/studio_with_state_48"
                android:text="@string/studio" />

            <RadioButton
                android:id="@+id/filter_estate_type_r"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/sleeping_room_with_state_48"
                android:drawableLeft="@drawable/sleeping_room_with_state_48"
                android:text="@string/sleeping_room" />

        </RadioGroup>


        <RadioGroup
            android:id="@+id/estate_type_radio_group_3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:orientation="horizontal"

            app:layout_constraintEnd_toEndOf="@+id/estate_type_radio_group_2"
            app:layout_constraintStart_toStartOf="@+id/estate_type_radio_group_2"
            app:layout_constraintTop_toBottomOf="@+id/estate_type_radio_group_2">

            <RadioButton
                android:id="@+id/filter_estate_type_local_c"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/local_commel_with_state_48"
                android:drawableLeft="@drawable/local_commel_with_state_48"
                android:text="@string/local_commercial" />

            <RadioButton
                android:id="@+id/filter_estate_type_apps"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/appartement_with_state_48"
                android:drawableLeft="@drawable/appartement_with_state_48"
                android:text="Appartements meubles"/>

        </RadioGroup>
        <RadioGroup
            android:id="@+id/estate_type_radio_group_4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:orientation="horizontal"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="@+id/estate_type_radio_group_3"
            app:layout_constraintStart_toStartOf="@+id/estate_type_radio_group_3"
            app:layout_constraintTop_toBottomOf="@+id/estate_type_radio_group_3"
            >

            <RadioButton
                android:id="@+id/filter_estate_ty"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:drawableStart="@drawable/ter_with_state_48"
                android:drawableLeft="@drawable/ter_with_state_48"
                android:text="Terrain" />

            <RadioButton
                android:id="@+id/filter_estate_type_roo"
                style="@style/EstateTypeRadioButtonStyle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:visibility="invisible"
                android:drawableStart="@drawable/sleeng_rm_with_state_48"
                android:drawableLeft="@drawable/sleeng_rm_with_state_48"
                android:text="@string/sleeping_room" />

        </RadioGroup>


           </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
When i select a radiobutton, i should like that the others radiobuttons would uncheck even if they are in another radiogroup.
The code java that i used is here:
Java:
isChecking =true;
mEstateTypeGroup1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
                if (checkedId != -1 && isChecking) {
                    isChecking = false;
                    mEstateTypeGroup2.clearCheck();
                    mEstateTypeGroup3.clearCheck();
                    mEstateTypeGroup4.clearCheck();
                    mEstateTypeCheckedId = checkedId;
                }
                isChecking = true;
            }
        });
        mEstateTypeGroup2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
                if (checkedId != -1 && isChecking) {
                    isChecking = false;
                    mEstateTypeGroup1.clearCheck();
                    mEstateTypeGroup3.clearCheck();
                    mEstateTypeGroup4.clearCheck();
                    mEstateTypeCheckedId = checkedId;
                }
                isChecking = true;
            }
        });

        mEstateTypeGroup3.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
                if (checkedId != -1 && isChecking) {
                    isChecking = false;
                    mEstateTypeGroup1.clearCheck();
                    mEstateTypeGroup2.clearCheck();
                    mEstateTypeGroup4.clearCheck();
                    mEstateTypeCheckedId = checkedId;
                 }
                isChecking = true;
            }
        });

        mEstateTypeGroup4.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
                if (checkedId != -1 && isChecking) {
                    isChecking = false;
                    mEstateTypeGroup1.clearCheck();
                    mEstateTypeGroup2.clearCheck();
                    mEstateTypeGroup3.clearCheck();
                    mEstateTypeCheckedId = checkedId;
                    }

                isChecking = true;
            }
        });

But when i execute this code in my app, the selection of radiobutton doesn't work properly. For example: when i check a button and i check another button, the first button isn't unchecked.

Please could you have any idea?
Thank you

Correct Architecture for Bottom Nav?

I want to make a music app, very simple, using ExoPlayer. It will have a bottom nav with "songs" as the landing page, a recycler view of all songs in the library, with a player at the bottom of the view. Other areas of the app will be "albums", "artists" and "playlists". These again will be recycler views, but you click on something in these recycler views, and instead of playing, like in "songs", you will be taken to a recycler view of songs contained within that item i.e. I select Artist "Daft Punk", I get a list of Daft Punk songs with the player at the bottom, I click a song in that list and it plays.

So my decision is how to architect this and as I am new to android I honestly don't know the right way. I have done some reading and thing I am right in saying that I would have 1 activity (the nav bar activity). From this, I would have 4 fragments, one for each of the items in the bottom nav. I would then pass a list of all songs to the songs fragment on opening the app, or tapping the "Songs" nav item. But I would pass a different list of songs to the "Songs" fragment if I were navigating through one of the other areas.

Is this the correct approach? I haven't worked much with fragments so am a little wary that this might be a bit dumb... The alternative I though of was to have one child fragment each off of artists, playlists and albums which are essentially a copy of the songs fragment, but this seems like too much duplication. A little guidance here would be appreciated.

I have drawn something simple here to explain what I mean. Haven't added media on this site before so hoping this works correctly. [GALLERY=media, 426]Screenshot 2020-05-08 At 14.09.01 by adrem7 posted May 8, 2020 at 2:09 PM[/GALLERY]

Apps get error kotlin null pointer exception when switching fragment

I have given the error section with an underscore


import android.app.SearchManager
import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.*
import androidx.appcompat.widget.SearchView
import androidx.core.content.getSystemService
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout

import com.example.paduma.R
import com.example.paduma.model.DataApi
import com.example.paduma.model.Paritta
import com.example.paduma.network.ParittaApi
import com.example.paduma.network.RetrofitClientInstance
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import java.io.IOException

// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"

/**
* A simple [Fragment] subclass.
*
*/
class ParittaFragment : Fragment() {

companion object {
val INSTANCE_STATE = "INSTANCE_STATE"
}

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
setHasOptionsMenu(true)
Log.d("life","createview")
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_paritta, container, false)
}

private lateinit var swipeRefreshLayout: SwipeRefreshLayout
private lateinit var recyclerView: RecyclerView
private lateinit var linearLayoutManager: LinearLayoutManager
private lateinit var parittaApi: ParittaApi
private lateinit var adapterParitta: AdapterParitta
private var dataParitta: ArrayList<Paritta.DataParitta>? = ArrayList()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// if(savedInstanceState!=null) {
// if (savedInstanceState.getParcelableArrayList<Paritta.DataParitta>(INSTANCE_STATE) != null) {
// dataParitta = savedInstanceState.getParcelableArrayList(INSTANCE_STATE)!!
// setDataRecycler(dataParitta)
// }
// }else{
// loadRecyclerViewData()
//
// }
init(view)
Log.d("life","viewcreated")


}

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
Log.d("life","activityCreated")

loadData()
}

private fun init(view: View) {
swipeRefreshLayout = view.findViewById(R.id.swipeLayout)
parittaApi = RetrofitClientInstance().getRetrofitInstance().create(ParittaApi::class.java)
recyclerView = view.findViewById(R.id.recycler_paritta)
linearLayoutManager = LinearLayoutManager(view.context)
recyclerView.layoutManager = linearLayoutManager


}


private fun loadData() {
swipeRefreshLayout.isRefreshing=true
val call = parittaApi.getAllParitta()
call.enqueue(object : Callback<Paritta> {
override fun onFailure(call: Call<Paritta>, t: Throwable) {

}

override fun onResponse(call: Call<Paritta>, response: Response<Paritta>) {
if (!response.isSuccessful) {
return
}
dataParitta = response.body()!!.data

adapterParitta =
AdapterParitta(dataParitta as ArrayList<DataApi>, R.layout.recycler_paritta, context!!)

recyclerView.adapter = adapterParitta
swipeRefreshLayout.isRefreshing=true

}

})
}

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.main_menu, menu)
val searchView = menu.findItem(R.id.action_search).actionView as SearchView
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
return false
}

override fun onQueryTextChange(newText: String?): Boolean {
adapterParitta.filter.filter(newText)
return false
}

})
super.onCreateOptionsMenu(menu, inflater)
}


// override fun onSaveInstanceState(outState: Bundle) {
// super.onSaveInstanceState(outState)
// outState.putParcelableArrayList(INSTANCE_STATE,dataParitta)
// }


}

Help No Sign-in prompt after password change? And Wrong Device Name

Hi all, I have an LG Stylo 4 running Android 9. I have Cricket Wireless and use a data connection. i've set my DNS to cloudflare.

I changed the password on my primary Google account, the one my phone is using by default, and received no prompt to log in to my phone again as I would expect. What could be causing this?

I factory reset my phone to use a different Google account, just in case.

Possibly related: Signing in on my laptop, the two-factor notification from Google showed my phone under its generic(?) name "LMsomethingsomething" rather that "Stylo 4", several times. Google still only listed the one device and it also appeared under this name when plugged in to my laptop, (elementary os) so I wrote it off at the time.

Is my phone compromised, and if so, what to do? I'm very concerned about this.

Let me know if more/what kind of detail may help in answering. Thanks for taking the time to read.

Filter

Back
Top Bottom