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

Commit d1b08e71 authored by Alex Stetson's avatar Alex Stetson
Browse files

Fix incorrect result breadcrumbs

Fixing an issue where search results without their own breadcrumbs would
populate with breadcrumbs of another search result.

Bug: 155231987
Test: manual
Change-Id: I57ca434520805d28da679f130c0221e7c4df9267
parent 5f360d8f
Loading
Loading
Loading
Loading
+21 −9
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.intelligence.search.car;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;

@@ -49,15 +50,7 @@ public class CarIntentSearchViewHolder extends CarSearchViewHolder {
        } else {
            mIcon.setImageDrawable(result.icon);
        }
        if (result.breadcrumbs != null && !result.breadcrumbs.isEmpty()) {
            String breadcrumb = result.breadcrumbs.get(0);
            int count = result.breadcrumbs.size();
            for (int i = 1; i < count; i++) {
                breadcrumb = mContext.getString(R.string.search_breadcrumb_connector,
                        breadcrumb, result.breadcrumbs.get(i));
            }
            mSummary.setText(breadcrumb);
        }
        bindBreadcrumbView(result);

        itemView.setOnClickListener(v -> {
            fragment.onSearchResultClicked(/* resultViewHolder= */ this, result);
@@ -77,4 +70,23 @@ public class CarIntentSearchViewHolder extends CarSearchViewHolder {
            }
        });
    }

    private void bindBreadcrumbView(SearchResult result) {
        if (result.breadcrumbs == null || result.breadcrumbs.isEmpty()) {
            mSummary.setVisibility(View.GONE);
            return;
        }
        String breadcrumb = result.breadcrumbs.get(0);
        int count = result.breadcrumbs.size();
        for (int i = 1; i < count; i++) {
            breadcrumb = mContext.getString(R.string.search_breadcrumb_connector,
                    breadcrumb, result.breadcrumbs.get(i));
        }
        if (breadcrumb == null || TextUtils.isEmpty(breadcrumb.trim())) {
            mSummary.setVisibility(View.GONE);
        } else {
            mSummary.setText(breadcrumb);
            mSummary.setVisibility(View.VISIBLE);
        }
    }
}