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
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 711cb21..9673948 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -32,9 +32,6 @@
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.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 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 @@
@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 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;
- }
}
diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
index 2096629..254d0ae 100644
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -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.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
-import android.graphics.Bitmap;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -46,8 +44,6 @@
private FragmentManager mFragmentManager;
@Mock
private ActivityManager.TaskDescription mTaskDescription;
- @Mock
- private Bitmap mBitmap;
private SettingsActivity mActivity;
@Before
@@ -55,7 +51,6 @@
MockitoAnnotations.initMocks(this);
mActivity = spy(new SettingsActivity());
- doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt());
}
@Test
@@ -72,6 +67,6 @@
public void testSetTaskDescription_IconChanged() {
mActivity.setTaskDescription(mTaskDescription);
- verify(mTaskDescription).setIcon(nullable(Bitmap.class));
+ verify(mTaskDescription).setIcon(anyInt());
}
}