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

Commit a2d44ea0 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 9546d5a2: am 96c95ba5: am 5f22c0b2: am 1b67a6b8: Merge "Badge...

am 9546d5a2: am 96c95ba5: am 5f22c0b2: am 1b67a6b8: Merge "Badge ChooserActivity choices with their app icon for disambig" into mnc-dr-dev

* commit '9546d5a2':
  Badge ChooserActivity choices with their app icon for disambig
parents b27fdb33 9546d5a2
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -647,7 +647,8 @@ public class ChooserActivity extends ResolverActivity {

        @Override
        public CharSequence getExtendedInfo() {
            return mSourceInfo != null ? mSourceInfo.getExtendedInfo() : null;
            // ChooserTargets have badge icons, so we won't show the extended info to disambiguate.
            return null;
        }

        @Override
@@ -740,9 +741,8 @@ public class ChooserActivity extends ResolverActivity {

        @Override
        public boolean showsExtendedInfo(TargetInfo info) {
            // Reserve space to show extended info if any one of the items in the adapter has
            // extended info. This keeps grid item sizes uniform.
            return hasExtendedInfo();
            // We have badges so we don't need this text shown.
            return false;
        }

        @Override
+22 −3
Original line number Diff line number Diff line
@@ -896,6 +896,7 @@ public class ResolverActivity extends Activity {
        private final ResolveInfo mResolveInfo;
        private final CharSequence mDisplayLabel;
        private Drawable mDisplayIcon;
        private Drawable mBadge;
        private final CharSequence mExtendedInfo;
        private final Intent mResolvedIntent;
        private final List<Intent> mSourceIntents = new ArrayList<>();
@@ -940,9 +941,27 @@ public class ResolverActivity extends Activity {
        }

        public Drawable getBadgeIcon() {
            // We only expose a badge if we have extended info.
            // The badge is a higher-priority disambiguation signal
            // but we don't need one if we wouldn't show extended info at all.
            if (TextUtils.isEmpty(getExtendedInfo())) {
                return null;
            }

            if (mBadge == null && mResolveInfo != null && mResolveInfo.activityInfo != null
                    && mResolveInfo.activityInfo.applicationInfo != null) {
                if (mResolveInfo.activityInfo.icon == 0 || mResolveInfo.activityInfo.icon
                        == mResolveInfo.activityInfo.applicationInfo.icon) {
                    // Badging an icon with exactly the same icon is silly.
                    // If the activityInfo icon resid is 0 it will fall back
                    // to the application's icon, making it a match.
                    return null;
                }
                mBadge = mResolveInfo.activityInfo.applicationInfo.loadIcon(mPm);
            }
            return mBadge;
        }

        @Override
        public CharSequence getBadgeContentDescription() {
            return null;
@@ -1378,8 +1397,8 @@ public class ResolverActivity extends Activity {
            } else {
                mHasExtendedInfo = true;
                boolean usePkg = false;
                CharSequence startApp = ro.getResolveInfoAt(0).activityInfo.applicationInfo
                        .loadLabel(mPm);
                final ApplicationInfo ai = ro.getResolveInfoAt(0).activityInfo.applicationInfo;
                final CharSequence startApp = ai.loadLabel(mPm);
                if (startApp == null) {
                    usePkg = true;
                }