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

Commit 7b8c9b92 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Don't show afw default app pref if there is no candidate."

parents 0c3fe0ea c13b950b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -125,6 +125,10 @@ public final class SmsDefaultDialog extends AlertActivity implements
            p.mOnClickListener = this;
            p.mNegativeButtonText = getString(R.string.cancel);
            p.mNegativeButtonListener = this;
            if (p.mAdapter.isEmpty()) {
                // If there is nothing to choose from, don't build the dialog.
                return false;
            }
        }
        setupAlert();

+16 −11
Original line number Diff line number Diff line
@@ -39,7 +39,8 @@ public class DefaultBrowserPreferenceController extends DefaultAppPreferenceCont

    @Override
    public boolean isAvailable() {
        return true;
        final List<ResolveInfo> candidates = getCandidates();
        return candidates != null && !candidates.isEmpty();
    }

    @Override
@@ -61,16 +62,6 @@ public class DefaultBrowserPreferenceController extends DefaultAppPreferenceCont
        }
    }

    private String getOnlyAppLabel() {
        // Resolve that intent and check that the handleAllWebDataURI boolean is set
        final List<ResolveInfo> list = mPackageManager.queryIntentActivitiesAsUser(BROWSE_PROBE,
                PackageManager.MATCH_ALL, mUserId);
        if (list != null && list.size() == 1) {
            return list.get(0).loadLabel(mPackageManager.getPackageManager()).toString();
        }
        return null;
    }

    @Override
    protected DefaultAppInfo getDefaultAppInfo() {
        try {
@@ -81,6 +72,20 @@ public class DefaultBrowserPreferenceController extends DefaultAppPreferenceCont
        }
    }

    private List<ResolveInfo> getCandidates() {
        return mPackageManager.queryIntentActivitiesAsUser(BROWSE_PROBE, PackageManager.MATCH_ALL,
                mUserId);
    }

    private String getOnlyAppLabel() {
        // Resolve that intent and check that the handleAllWebDataURI boolean is set
        final List<ResolveInfo> list = getCandidates();
        if (list != null && list.size() == 1) {
            return list.get(0).loadLabel(mPackageManager.getPackageManager()).toString();
        }
        return null;
    }

    /**
     * Whether or not the pkg contains browser capability
     */
+9 −1
Original line number Diff line number Diff line
@@ -42,7 +42,11 @@ public class DefaultPhonePreferenceController extends DefaultAppPreferenceContro
        final boolean hasUserRestriction =
                um.hasUserRestriction(UserManager.DISALLOW_OUTGOING_CALLS);

        return !hasUserRestriction;
        if (hasUserRestriction) {
            return false;
        }
        final List<String> candidates = getCandidates();
        return candidates != null && !candidates.isEmpty();
    }

    @Override
@@ -60,6 +64,10 @@ public class DefaultPhonePreferenceController extends DefaultAppPreferenceContro
        }
    }

    private List<String> getCandidates() {
        return DefaultDialerManager.getInstalledDialerApplications(mContext, mUserId);
    }

    public static boolean hasPhonePreference(String pkg, Context context) {
        List<String> dialerPackages =
                DefaultDialerManager.getInstalledDialerApplications(context, UserHandle.myUserId());
+12 −7
Original line number Diff line number Diff line
@@ -23,21 +23,26 @@ import com.android.settings.Utils;

public class DefaultWorkBrowserPreferenceController extends DefaultBrowserPreferenceController {

    private final UserHandle mUserHandle;

    public DefaultWorkBrowserPreferenceController(Context context) {
        super(context);
        final UserHandle managedProfile = Utils.getManagedProfile(mUserManager);
        if (managedProfile != null) {
            mUserId = managedProfile.getIdentifier();
        mUserHandle = Utils.getManagedProfile(mUserManager);
        if (mUserHandle != null) {
            mUserId = mUserHandle.getIdentifier();
        }
    }

    @Override
    public boolean isAvailable() {
        return Utils.getManagedProfile(mUserManager) != null;
    public String getPreferenceKey() {
        return "work_default_browser";
    }

    @Override
    public String getPreferenceKey() {
        return "work_default_browser";
    public boolean isAvailable() {
        if (mUserHandle == null) {
            return false;
        }
        return super.isAvailable();
    }
}
+17 −0
Original line number Diff line number Diff line
@@ -17,11 +17,28 @@
package com.android.settings.applications.defaultapps;

import android.content.Context;
import android.os.UserHandle;

import com.android.settings.Utils;

public class DefaultWorkPhonePreferenceController extends DefaultPhonePreferenceController {

    private final UserHandle mUserHandle;

    public DefaultWorkPhonePreferenceController(Context context) {
        super(context);
        mUserHandle = Utils.getManagedProfile(mUserManager);
        if (mUserHandle != null) {
            mUserId = mUserHandle.getIdentifier();
        }
    }

    @Override
    public boolean isAvailable() {
        if (mUserHandle == null) {
            return false;
        }
        return super.isAvailable();
    }

    @Override
Loading