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

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

Merge "Ensure that all permission icons have the same size."

parents 45069d37 ca61c8d3
Loading
Loading
Loading
Loading
+22 −1
Original line number Original line Diff line number Diff line
@@ -21,9 +21,11 @@ import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.os.Bundle;
import android.os.Bundle;
import android.util.Log;
import android.util.Log;
import android.widget.ImageView;


import androidx.preference.Preference;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.preference.PreferenceScreen;
import androidx.preference.PreferenceViewHolder;


import com.android.packageinstaller.permission.model.PermissionGroup;
import com.android.packageinstaller.permission.model.PermissionGroup;
import com.android.packageinstaller.permission.model.PermissionGroups;
import com.android.packageinstaller.permission.model.PermissionGroups;
@@ -133,7 +135,7 @@ abstract class ManagePermissionsFragment extends PermissionsFrameFragment
                Preference preference = findPreference(group.getName());
                Preference preference = findPreference(group.getName());


                if (preference == null) {
                if (preference == null) {
                    preference = new Preference(context);
                    preference = new FixedSizeIconPreference(context);
                    preference.setOnPreferenceClickListener(this);
                    preference.setOnPreferenceClickListener(this);
                    preference.setKey(group.getName());
                    preference.setKey(group.getName());
                    preference.setIcon(Utils.applyTint(context, group.getIcon(),
                    preference.setIcon(Utils.applyTint(context, group.getIcon(),
@@ -155,4 +157,23 @@ abstract class ManagePermissionsFragment extends PermissionsFrameFragment


        return screen;
        return screen;
    }
    }

    /**
     * A preference whose icons have the same fixed size.
     */
    private static final class FixedSizeIconPreference extends Preference {
        FixedSizeIconPreference(Context context) {
            super(context);
        }

        @Override
        public void onBindViewHolder(PreferenceViewHolder holder) {
            super.onBindViewHolder(holder);
            ImageView icon = ((ImageView) holder.findViewById(android.R.id.icon));
            icon.setMaxWidth(getContext().getResources().getDimensionPixelSize(
                    R.dimen.secondary_app_icon_size));
            icon.setMaxHeight(getContext().getResources().getDimensionPixelSize(
                    R.dimen.secondary_app_icon_size));
        }
    }
}
}