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
This commit is contained in:
Sunny Goyal
2018-07-03 11:39:00 -07:00
parent 6acf0510fb
commit 3c84675db7
2 changed files with 9 additions and 31 deletions

View File

@@ -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;
}
}

View File

@@ -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());
}
}