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

Commit 20c326c3 authored by zemiao's avatar zemiao
Browse files

Hide account info on app row when only 1 login.

Bug: 144668703
Test: manual
Test: atest
DocumentsUIGoogleTests:com.android.documentsui.dirlist.AppsRowManagerTest
Change-Id: Ife546a0ccd7dec13e9eee984f53b98edf906ca27
parent 04cbb860
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -39,9 +39,9 @@ public abstract class AppsRowItemData {
    private final @Nullable String mSummary;
    protected final ActionHandler mActionHandler;

    public AppsRowItemData(Item item, ActionHandler actionHandler) {
    public AppsRowItemData(Item item, ActionHandler actionHandler, boolean shouldShowSummary) {
        mTitle = item.title;
        mSummary = item.getSummary();
        mSummary = shouldShowSummary ? item.getSummary() : null;
        mActionHandler = actionHandler;
    }

@@ -64,8 +64,8 @@ public abstract class AppsRowItemData {

        private final ResolveInfo mResolveInfo;

        public AppData(AppItem item, ActionHandler actionHandler) {
            super(item, actionHandler);
        public AppData(AppItem item, ActionHandler actionHandler, boolean shouldShowSummary) {
            super(item, actionHandler, shouldShowSummary);
            mResolveInfo = item.info;
        }

@@ -89,8 +89,8 @@ public abstract class AppsRowItemData {

        private final RootInfo mRootInfo;

        public RootData(RootItem item, ActionHandler actionHandler) {
            super(item, actionHandler);
        public RootData(RootItem item, ActionHandler actionHandler, boolean shouldShowSummary) {
            super(item, actionHandler, shouldShowSummary);
            mRootInfo = item.root;
        }

+17 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.documentsui.dirlist;

import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
@@ -33,7 +34,9 @@ import com.android.documentsui.sidebar.Item;
import com.android.documentsui.sidebar.RootItem;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * A manager class stored apps row chip data list. Data will be synced by RootsFragment.
@@ -50,11 +53,23 @@ public class AppsRowManager {

    public List<AppsRowItemData> updateList(List<Item> itemList) {
        mDataList.clear();

        // If more than 1 item of the same package, show item summary (e.g. account id).
        Map<String, Integer> packageNameCount = new HashMap<>();
        for (Item item : itemList) {
            String packageName = item.getPackageName();
            int previousCount = packageNameCount.containsKey(packageName)
                    && !TextUtils.isEmpty(packageName)
                    ? packageNameCount.get(packageName) : 0;
            packageNameCount.put(packageName, previousCount + 1);
        }

        for (Item item : itemList) {
            boolean shouldShowSummary = packageNameCount.get(item.getPackageName()) > 1;
            if (item instanceof RootItem) {
                mDataList.add(new RootData((RootItem) item, mActionHandler));
                mDataList.add(new RootData((RootItem) item, mActionHandler, shouldShowSummary));
            } else {
                mDataList.add(new AppData((AppItem) item, mActionHandler));
                mDataList.add(new AppData((AppItem) item, mActionHandler, shouldShowSummary));
            }
        }
        return mDataList;
+1 −1
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ public class AppItem extends Item {
    }

    @Override
    String getPackageName() {
    public String getPackageName() {
        return info.activityInfo.packageName;
    }

+4 −1
Original line number Diff line number Diff line
@@ -62,7 +62,10 @@ public abstract class Item {

    abstract void open();

    String getPackageName() {
    /**
     * Get the package name string.
     */
    public String getPackageName() {
        return "";
    }

+1 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ public class RootItem extends Item {
    }

    @Override
    String getPackageName() {
    public String getPackageName() {
        return mPackageName;
    }

Loading