Android Developer Needed

Is there anyone here who either knows how to develop android apps or would like to get paid to learn? I have a small android app development project that I would pay $200 to have done. Basically, the idea is an android launcher that integrates with eGate.

explain more please, how would a launcher integrate with egate ? and what’s the purpose over any other standard launcher

I’m in. dm

The idea is to have a launcher that if a eGate blocks an app with the accessibility filter, it doesn’t show up in the launcher.

im in if still Need it

i’m out

like a pm hide --user 0
mbsmart does that.

activity manager to shell “pm hide --user 0 $”

Just add this to any open source launcher

import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
        recyclerView.layoutManager = GridLayoutManager(this, 4)

        // Get installed apps
        val installedApps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA)

        // Filter apps not blocked by eGate
        val accessibleApps = installedApps.filter { app ->
            !isAppBlockedByEgate(app.packageName)
        }

        // Set adapter to show apps in the launcher
        val appAdapter = AppAdapter(this, accessibleApps)
        recyclerView.adapter = appAdapter
    }

    // Mock function for checking if the app is blocked
    private fun isAppBlockedByEgate(packageName: String): Boolean {
        // Replace this with actual eGate logic (check via accessibility or MDM APIs)
        val blockedApps = listOf("com.example.blockedapp1", "com.example.blockedapp2")
        return blockedApps.contains(packageName)
    }
}

Still need?