KaruzoHikari / Revo-Launcher

The repository of Revo Launcher, a highly customizable program with powerful themes and icon+banner animations.
https://karuzohikari.com/RevoLauncher
139 stars 3 forks source link

Why are releases missing the APK, why isn't the source here, and why isn't this on the Play store? #83

Open servel333 opened 5 months ago

servel333 commented 5 months ago

Some weirdness

This denies users of GitHub the ability to do easy diffs of the code to see what ACTUALLY changed between versions.

This is also quite weird. And it makes me wonder if the source shared here even matches the generated executable.

This makes we wonder why. Does this app not conform to the Google Play Store code of conduct, or some other policy? This makes me worried this app is malware. Why distribute it in this weird way.

All of these things make this app less trustworthy in my opinion, so please elaborate as to why this app is distributed in such a weird way.

Thanks.

111ebobo commented 5 months ago

Some weirdness

  • The source is shared in the releases, but not in the repo itself.

This denies users of GitHub the ability to do easy diffs of the code to see what ACTUALLY changed between versions.

  • The APK is not part of the repo releases, but instead on a separate website.

This is also quite weird. And it makes me wonder if the source shared here even matches the generated executable.

  • The launcher isn't listed on the Google Play Store.

This makes we wonder why. Does this app not conform to the Google Play Store code of conduct, or some other policy? This makes me worried this app is malware. Why distribute it in this weird way.

All of these things make this app less trustworthy in my opinion, so please elaborate as to why this app is distributed in such a weird way.

Thanks.

Launcher version isn't in the android market because some people think that this is a virus and some think that's a real Wii menu with games etc

KaruzoHikari commented 5 months ago

Hey there. I'll try to be as clear as possible with your concerns, since it's something people has been asking for a while:

In fact, the source code is not shared. Right now, the releases page only contains the release notes and links to the different downloads. There's multiple reasons why, at least for now, the app isn't open-source (both legal and personal). I've talked about it in the Discord a few times, and some more info about it was posted in this other issue: https://github.com/KaruzoHikari/Wii-Phone/issues/49

True! I've been posting the releases in Mediafire all this time because GitHub downloads used to be pretty slow - at least, for me. Some people have recently told me that download times are fine for them, so I might just start posting the downloads here.

The reason for this is simply to prevent users from setting the app as their launcher by mistake, without wanting it as their launcher. This used to be the case before Wii Phone v2.3 - lots of people used to download the app and set it as their launcher by mistake (apparently some devices would even set it as the default launcher on their own!). Because the app wasn't too stable back then, it'd crash sometimes and they wouldn't know how to leave. That's why there's a popup now leading you to the actual launcher version only if you know what that means. I guess I have no real way to prove this, but the launcher version is the exact same one as the Play Store one - it only changes the AndroidManifest.xml file (in order to let Android know the app should or should not be a launcher).

If you have any more concerns after this, I'll be happy to answer! This really is just a passion project that I still work on for the community.

servel333 commented 5 months ago

Thanks. Sounds honest. My son is very interested in the Wii and really likes this app.

servel333 commented 5 months ago

to prevent users from setting the app as their launcher by mistake

I wonder if you can add a setting to open the settings to the launcher settings on the phone so that you can push the launcher version to the store but also have an in-app way to get to the setting and change it back if that's what users want?

Just a suggestion.

Here is some example code I asked GPT 4 for (including support for more Android versions and device manufacturers) that may serve as a good starting point for this feature. I don't have a dev env set up for Android, but sometimes GPT 4 gets the syntax or other small things wrong (like I see that that intent variable is used out of scope), but I find it's a good starting point for research.

public void openLauncherSettings(Context context) {
    try {
        Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS);
        context.startActivity(intent);
    } catch (ActivityNotFoundException e) {
        // Fallback for specific manufacturers or versions
        String manufacturer = android.os.Build.MANUFACTURER.toLowerCase();
        Intent intent = null;

        if (manufacturer.contains("samsung")) {
            // Example for Samsung devices
            intent = new Intent("com.samsung.android.settings.LAUNCHER_SETTINGS");
        } else if (manufacturer.contains("huawei")) {
            // Example for Huawei devices
            intent = new Intent("com.huawei.android.settings.HOME_SETTINGS");
        } // Add more conditions for other manufacturers

        // If an intent was set for a manufacturer-specific settings page, try to start it
        if (intent != null) {
            try {
                context.startActivity(intent);
            } catch (ActivityNotFoundException ex) {
                // Final fallback or error handling
                Toast.makeText(context, "Unable to open launcher settings.", Toast.LENGTH_SHORT).show();
            }
        } else {
            // Generic error handling if no specific intent could be found
            Toast.makeText(context, "Unable to open launcher settings.", Toast.LENGTH_SHORT).show();
        }
    }
}