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:
@@ -32,9 +32,6 @@ import android.content.SharedPreferences;
|
|||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
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.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
@@ -48,6 +45,12 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toolbar;
|
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.internal.util.ArrayUtils;
|
||||||
import com.android.settings.Settings.WifiSettingsActivity;
|
import com.android.settings.Settings.WifiSettingsActivity;
|
||||||
import com.android.settings.applications.manageapplications.ManageApplications;
|
import com.android.settings.applications.manageapplications.ManageApplications;
|
||||||
@@ -70,12 +73,6 @@ import com.android.settingslib.utils.ThreadUtils;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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
|
public class SettingsActivity extends SettingsBaseActivity
|
||||||
implements PreferenceManager.OnPreferenceTreeClickListener,
|
implements PreferenceManager.OnPreferenceTreeClickListener,
|
||||||
@@ -506,8 +503,7 @@ public class SettingsActivity extends SettingsBaseActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTaskDescription(ActivityManager.TaskDescription taskDescription) {
|
public void setTaskDescription(ActivityManager.TaskDescription taskDescription) {
|
||||||
final Bitmap icon = getBitmapFromXmlResource(R.drawable.ic_launcher_settings);
|
taskDescription.setIcon(R.drawable.ic_launcher_settings);
|
||||||
taskDescription.setIcon(icon);
|
|
||||||
super.setTaskDescription(taskDescription);
|
super.setTaskDescription(taskDescription);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -772,17 +768,4 @@ public class SettingsActivity extends SettingsBaseActivity
|
|||||||
public Button getNextButton() {
|
public Button getNextButton() {
|
||||||
return mNextButton;
|
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -16,8 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.nullable;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.Matchers.anyInt;
|
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
@@ -28,7 +27,6 @@ import android.app.ActivityManager;
|
|||||||
import android.app.FragmentManager;
|
import android.app.FragmentManager;
|
||||||
import android.app.FragmentTransaction;
|
import android.app.FragmentTransaction;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
|
||||||
|
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
|
||||||
@@ -46,8 +44,6 @@ public class SettingsActivityTest {
|
|||||||
private FragmentManager mFragmentManager;
|
private FragmentManager mFragmentManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ActivityManager.TaskDescription mTaskDescription;
|
private ActivityManager.TaskDescription mTaskDescription;
|
||||||
@Mock
|
|
||||||
private Bitmap mBitmap;
|
|
||||||
private SettingsActivity mActivity;
|
private SettingsActivity mActivity;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@@ -55,7 +51,6 @@ public class SettingsActivityTest {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mActivity = spy(new SettingsActivity());
|
mActivity = spy(new SettingsActivity());
|
||||||
doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -72,6 +67,6 @@ public class SettingsActivityTest {
|
|||||||
public void testSetTaskDescription_IconChanged() {
|
public void testSetTaskDescription_IconChanged() {
|
||||||
mActivity.setTaskDescription(mTaskDescription);
|
mActivity.setTaskDescription(mTaskDescription);
|
||||||
|
|
||||||
verify(mTaskDescription).setIcon(nullable(Bitmap.class));
|
verify(mTaskDescription).setIcon(anyInt());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user