Loading src/com/android/settings/SettingsActivity.java +24 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,10 @@ import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.nfc.NfcAdapter; import android.os.AsyncTask; import android.os.Bundle; Loading Loading @@ -679,6 +683,13 @@ public class SettingsActivity extends SettingsDrawerActivity mDevelopmentPreferencesListener = null; } @Override public void setTaskDescription(ActivityManager.TaskDescription taskDescription) { final Bitmap icon = getBitmapFromXmlResource(R.drawable.ic_launcher_settings); taskDescription.setIcon(icon); super.setTaskDescription(taskDescription); } protected boolean isValidFragment(String fragmentName) { // Almost all fragments are wrapped in this, // except for a few that have their own activities. Loading Loading @@ -1114,4 +1125,17 @@ public class SettingsActivity extends SettingsDrawerActivity } super.onActivityResult(requestCode, resultCode, data); } @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; } } tests/robotests/src/com/android/settings/SettingsActivityTest.java +20 −4 Original line number Diff line number Diff line Loading @@ -16,12 +16,13 @@ package com.android.settings; import android.app.ActivityManager; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -32,9 +33,12 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) Loading @@ -45,7 +49,10 @@ public class SettingsActivityTest { private Context mContext; @Mock private FragmentManager mFragmentManager; @Mock private ActivityManager.TaskDescription mTaskDescription; @Mock private Bitmap mBitmap; private SettingsActivity mActivity; @Before Loading @@ -55,12 +62,14 @@ public class SettingsActivityTest { final FakeFeatureFactory factory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true); mActivity = spy(new SettingsActivity()); doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt()); } @Test public void testQueryTextChange_shouldUpdate() { final String testQuery = "abc"; mActivity = new SettingsActivity(); assertThat(mActivity.mSearchQuery).isNull(); try { Loading @@ -83,4 +92,11 @@ public class SettingsActivityTest { mActivity.launchSettingFragment(null, true, mock(Intent.class)); } @Test public void testSetTaskDescription_IconChanged() { mActivity.setTaskDescription(mTaskDescription); verify(mTaskDescription).setIcon(any()); } } tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java +4 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,10 @@ public class SettingsShadowResources extends ShadowResources { // TODO: Remove this once Robolectric is updated. if (id == com.android.settings.R.drawable.switchbar_background) { return new ColorDrawable(); } else if (id == com.android.settings.R.drawable.ic_launcher_settings) { // ic_launcher_settings uses adaptive-icon, which is not supported by robolectric, // change it to a normal drawable. id = com.android.settings.R.drawable.ic_settings_wireless; } return super.loadDrawable(value, id, theme); } Loading Loading
src/com/android/settings/SettingsActivity.java +24 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,10 @@ import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.nfc.NfcAdapter; import android.os.AsyncTask; import android.os.Bundle; Loading Loading @@ -679,6 +683,13 @@ public class SettingsActivity extends SettingsDrawerActivity mDevelopmentPreferencesListener = null; } @Override public void setTaskDescription(ActivityManager.TaskDescription taskDescription) { final Bitmap icon = getBitmapFromXmlResource(R.drawable.ic_launcher_settings); taskDescription.setIcon(icon); super.setTaskDescription(taskDescription); } protected boolean isValidFragment(String fragmentName) { // Almost all fragments are wrapped in this, // except for a few that have their own activities. Loading Loading @@ -1114,4 +1125,17 @@ public class SettingsActivity extends SettingsDrawerActivity } super.onActivityResult(requestCode, resultCode, data); } @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; } }
tests/robotests/src/com/android/settings/SettingsActivityTest.java +20 −4 Original line number Diff line number Diff line Loading @@ -16,12 +16,13 @@ package com.android.settings; import android.app.ActivityManager; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -32,9 +33,12 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) Loading @@ -45,7 +49,10 @@ public class SettingsActivityTest { private Context mContext; @Mock private FragmentManager mFragmentManager; @Mock private ActivityManager.TaskDescription mTaskDescription; @Mock private Bitmap mBitmap; private SettingsActivity mActivity; @Before Loading @@ -55,12 +62,14 @@ public class SettingsActivityTest { final FakeFeatureFactory factory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true); mActivity = spy(new SettingsActivity()); doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt()); } @Test public void testQueryTextChange_shouldUpdate() { final String testQuery = "abc"; mActivity = new SettingsActivity(); assertThat(mActivity.mSearchQuery).isNull(); try { Loading @@ -83,4 +92,11 @@ public class SettingsActivityTest { mActivity.launchSettingFragment(null, true, mock(Intent.class)); } @Test public void testSetTaskDescription_IconChanged() { mActivity.setTaskDescription(mTaskDescription); verify(mTaskDescription).setIcon(any()); } }
tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java +4 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,10 @@ public class SettingsShadowResources extends ShadowResources { // TODO: Remove this once Robolectric is updated. if (id == com.android.settings.R.drawable.switchbar_background) { return new ColorDrawable(); } else if (id == com.android.settings.R.drawable.ic_launcher_settings) { // ic_launcher_settings uses adaptive-icon, which is not supported by robolectric, // change it to a normal drawable. id = com.android.settings.R.drawable.ic_settings_wireless; } return super.loadDrawable(value, id, theme); } Loading