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

Commit 3c84675d authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Using icon resource instead of icon bitmap in task description

Bug: 110739775
Test: Verfied that the icon is displayed correctly if icon-shape override is applied in laucher
Change-Id: Ice7e15a982479960b2644defa33dbdb036c6bd42
parent 6acf0510
Loading
Loading
Loading
Loading
+7 −24
Original line number Diff line number Diff line
@@ -32,9 +32,6 @@ import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.UserHandle;
@@ -48,6 +45,12 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toolbar;

import androidx.annotation.VisibleForTesting;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragment;
import androidx.preference.PreferenceManager;

import com.android.internal.util.ArrayUtils;
import com.android.settings.Settings.WifiSettingsActivity;
import com.android.settings.applications.manageapplications.ManageApplications;
@@ -70,12 +73,6 @@ import com.android.settingslib.utils.ThreadUtils;
import java.util.ArrayList;
import java.util.List;

import androidx.annotation.VisibleForTesting;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragment;
import androidx.preference.PreferenceManager;


public class SettingsActivity extends SettingsBaseActivity
        implements PreferenceManager.OnPreferenceTreeClickListener,
@@ -506,8 +503,7 @@ public class SettingsActivity extends SettingsBaseActivity

    @Override
    public void setTaskDescription(ActivityManager.TaskDescription taskDescription) {
        final Bitmap icon = getBitmapFromXmlResource(R.drawable.ic_launcher_settings);
        taskDescription.setIcon(icon);
        taskDescription.setIcon(R.drawable.ic_launcher_settings);
        super.setTaskDescription(taskDescription);
    }

@@ -772,17 +768,4 @@ public class SettingsActivity extends SettingsBaseActivity
    public Button getNextButton() {
        return mNextButton;
    }

    @VisibleForTesting
    Bitmap getBitmapFromXmlResource(int drawableRes) {
        Drawable drawable = getResources().getDrawable(drawableRes, getTheme());
        Canvas canvas = new Canvas();
        Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
                drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
        canvas.setBitmap(bitmap);
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
        drawable.draw(canvas);

        return bitmap;
    }
}
+2 −7
Original line number Diff line number Diff line
@@ -16,8 +16,7 @@

package com.android.settings;

import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.anyInt;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -28,7 +27,6 @@ import android.app.ActivityManager;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.graphics.Bitmap;

import com.android.settings.testutils.SettingsRobolectricTestRunner;

@@ -46,8 +44,6 @@ public class SettingsActivityTest {
    private FragmentManager mFragmentManager;
    @Mock
    private ActivityManager.TaskDescription mTaskDescription;
    @Mock
    private Bitmap mBitmap;
    private SettingsActivity mActivity;

    @Before
@@ -55,7 +51,6 @@ public class SettingsActivityTest {
        MockitoAnnotations.initMocks(this);

        mActivity = spy(new SettingsActivity());
        doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt());
    }

    @Test
@@ -72,6 +67,6 @@ public class SettingsActivityTest {
    public void testSetTaskDescription_IconChanged() {
        mActivity.setTaskDescription(mTaskDescription);

        verify(mTaskDescription).setIcon(nullable(Bitmap.class));
        verify(mTaskDescription).setIcon(anyInt());
    }
}