Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a3374e0 authored by Sunny Goyal's avatar Sunny Goyal Committed by android-build-merger
Browse files

Fixing wrong check being used for application status

am: f2db2539

Change-Id: Id80a6fcc30023bf9ebea3c73e34af2d4bf186300
parents 6bfcbecb f2db2539
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -207,16 +207,6 @@ public class AllAppsList {
        return false;
    }

    /**
     * Query the launcher apps service for whether the supplied package has
     * MAIN/LAUNCHER activities in the supplied package.
     */
    static boolean packageHasActivities(Context context, String packageName,
            UserHandle user) {
        final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context);
        return launcherApps.getActivityList(packageName, user).size() > 0;
    }

    /**
     * Returns whether <em>apps</em> contains <em>component</em>.
     */
+5 −3
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.LauncherActivityInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.UserHandle;
@@ -139,9 +140,10 @@ public class UninstallDropTarget extends ButtonDropTarget {
            final Runnable checkIfUninstallWasSuccess = new Runnable() {
                @Override
                public void run() {
                    String packageName = cn.getPackageName();
                    boolean uninstallSuccessful = !AllAppsList.packageHasActivities(
                            launcher, packageName, user);
                    // We use MATCH_UNINSTALLED_PACKAGES as the app can be on SD card as well.
                    boolean uninstallSuccessful = LauncherAppsCompat.getInstance(launcher)
                            .getApplicationInfo(cn.getPackageName(),
                                    PackageManager.MATCH_UNINSTALLED_PACKAGES, user) == null;
                    callback.onDragObjectRemoved(uninstallSuccessful);
                }
            };
+2 −1
Original line number Diff line number Diff line
@@ -81,7 +81,8 @@ public class LauncherAppsCompatVL extends LauncherAppsCompat {
                    mContext.getPackageManager().getApplicationInfo(packageName, flags);
            // There is no way to check if the app is installed for managed profile. But for
            // primary profile, we can still have this check.
            if (isPrimaryUser && ((info.flags & ApplicationInfo.FLAG_INSTALLED) == 0)) {
            if (isPrimaryUser && ((info.flags & ApplicationInfo.FLAG_INSTALLED) == 0)
                    || !info.enabled) {
                return null;
            }
            return info;
+2 −1
Original line number Diff line number Diff line
@@ -37,7 +37,8 @@ public class LauncherAppsCompatVO extends LauncherAppsCompatVL {
    @Override
    public ApplicationInfo getApplicationInfo(String packageName, int flags, UserHandle user) {
        ApplicationInfo info = mLauncherApps.getApplicationInfo(packageName, flags, user);
        return info == null || (info.flags & ApplicationInfo.FLAG_INSTALLED) == 0 ? null : info;
        return info == null || (info.flags & ApplicationInfo.FLAG_INSTALLED) == 0 || !info.enabled
                ? null : info;
    }

    @Override