Loading packages/SettingsLib/SchedulesProvider/src/com/android/settingslib/schedulesprovider/ScheduleInfo.java +22 −17 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settingslib.schedulesprovider; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; Loading @@ -25,25 +27,25 @@ import androidx.annotation.NonNull; /** * Schedule data item containing the schedule title text, the summary text which is displayed on the * summary of the Settings preference and an {@link Intent} which Settings will launch when the * user clicks on the preference. * summary of the Settings preference and a {@link PendingIntent} which Settings will launch * when the user clicks on the preference. */ public class ScheduleInfo implements Parcelable { private static final String TAG = "ScheduleInfo"; private final String mTitle; private final String mSummary; private final Intent mIntent; private final PendingIntent mPendingIntent; public ScheduleInfo(Builder builder) { mTitle = builder.mTitle; mSummary = builder.mSummary; mIntent = builder.mIntent; mPendingIntent = builder.mPendingIntent; } private ScheduleInfo(Parcel in) { mTitle = in.readString(); mSummary = in.readString(); mIntent = in.readParcelable(Intent.class.getClassLoader()); mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader()); } /** Loading @@ -61,11 +63,11 @@ public class ScheduleInfo implements Parcelable { } /** * Returns an {@link Intent} which Settings will launch when the user clicks on a schedule * preference. * Returns a {@link PendingIntent} which Settings will launch when the user clicks on a * schedule preference. */ public Intent getIntent() { return mIntent; public PendingIntent getPendingIntent() { return mPendingIntent; } /** Loading @@ -74,14 +76,15 @@ public class ScheduleInfo implements Parcelable { * @return {@code true} if all member variables are valid. */ public boolean isValid() { return !TextUtils.isEmpty(mTitle) && !TextUtils.isEmpty(mSummary) && (mIntent != null); return !TextUtils.isEmpty(mTitle) && !TextUtils.isEmpty(mSummary) && (mPendingIntent != null); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mTitle); dest.writeString(mSummary); dest.writeParcelable(mIntent, flags); dest.writeParcelable(mPendingIntent, flags); } @Override Loading @@ -104,7 +107,7 @@ public class ScheduleInfo implements Parcelable { @NonNull @Override public String toString() { return "title: " + mTitle + ", summary: " + mSummary + ", intent: " + mIntent; return "title: " + mTitle + ", summary: " + mSummary + ", pendingIntent: " + mPendingIntent; } /** Loading @@ -113,7 +116,7 @@ public class ScheduleInfo implements Parcelable { public static class Builder { private String mTitle; private String mSummary; private Intent mIntent; private PendingIntent mPendingIntent; /** * Sets the title. Loading @@ -138,13 +141,15 @@ public class ScheduleInfo implements Parcelable { } /** * Sets the {@link Intent}. * Sets the {@link PendingIntent}. * <p>The {@link PendingIntent} should be created with * {@link PendingIntent#getActivity(Context, int, Intent, int)}. * * @param intent The action when user clicks the preference. * @param pendingIntent The pending intent to send when the user clicks the preference. * @return This instance. */ public Builder setIntent(@NonNull Intent intent) { mIntent = intent; public Builder setPendingIntent(@NonNull PendingIntent pendingIntent) { mPendingIntent = pendingIntent; return this; } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/schedulesprovider/ScheduleInfoTest.java +24 −17 Original line number Diff line number Diff line Loading @@ -17,11 +17,14 @@ package com.android.settingslib.schedulesprovider; import static com.google.common.truth.Truth.assertThat; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class ScheduleInfoTest { Loading @@ -29,10 +32,12 @@ public class ScheduleInfoTest { private static final String TEST_SUMMARY = "Night Light summary"; private static final String TEST_EMPTY_SUMMARY = ""; private final Context mContext = RuntimeEnvironment.application; @Test public void builder_usedValidArguments_isValid() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info).isNotNull(); assertThat(info.isValid()).isTrue(); Loading @@ -40,15 +45,16 @@ public class ScheduleInfoTest { @Test public void builder_useEmptySummary_isInvalid() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_EMPTY_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_EMPTY_SUMMARY, pendingIntent); assertThat(info).isNotNull(); assertThat(info.isValid()).isFalse(); } @Test public void builder_intentIsNull_isInvalid() { public void builder_pendingIntentIsNull_isInvalid() { final ScheduleInfo info = new ScheduleInfo.Builder() .setTitle(TEST_TITLE) .setSummary(TEST_SUMMARY) Loading @@ -60,39 +66,40 @@ public class ScheduleInfoTest { @Test public void getTitle_setValidTitle_shouldReturnSameCorrectTitle() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info.getTitle()).isEqualTo(TEST_TITLE); } @Test public void getSummary_setValidSummary_shouldReturnSameCorrectSummary() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info.getSummary()).isEqualTo(TEST_SUMMARY); } @Test public void getIntent_setValidIntent_shouldReturnSameCorrectIntent() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); public void getPendingIntent_setValidPendingIntent_shouldReturnSameCorrectIntent() { final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info.getIntent()).isEqualTo(intent); assertThat(info.getPendingIntent()).isEqualTo(pendingIntent); } private static Intent createTestIntent() { return new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( private static PendingIntent createTestPendingIntent(Context context) { final Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } private static ScheduleInfo createTestScheduleInfo(String title, String summary, Intent intent) { PendingIntent pendingIntent) { return new ScheduleInfo.Builder() .setTitle(title) .setSummary(summary) .setIntent(intent) .setPendingIntent(pendingIntent) .build(); } } packages/SettingsLib/tests/robotests/src/com/android/settingslib/schedulesprovider/SchedulesProviderTest.java +36 −28 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ import static com.google.common.truth.Truth.assertThat; import static org.robolectric.Shadows.shadowOf; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; Loading @@ -27,6 +29,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import java.util.ArrayList; Loading @@ -35,13 +38,16 @@ public class SchedulesProviderTest { private static final String INVALID_PACKAGE = "com.android.sunny"; private static final String VALID_PACKAGE = "com.android.settings"; private static final String INVALID_METHOD = "queryTestData"; private final Context mContext = RuntimeEnvironment.application; private TestSchedulesProvider mProvider; @Before public void setUp() { mProvider = Robolectric.setupContentProvider(TestSchedulesProvider.class); shadowOf(mProvider).setCallingPackage(VALID_PACKAGE); mProvider.setScheduleInfos(TestSchedulesProvider.createOneValidScheduleInfo()); mProvider.setScheduleInfos(TestSchedulesProvider.createOneValidScheduleInfo(mContext)); } @Test Loading Loading @@ -76,7 +82,7 @@ public class SchedulesProviderTest { @Test public void call_addTwoValidData_returnScheduleInfoData() { mProvider.setScheduleInfos(TestSchedulesProvider.createTwoValidScheduleInfos()); mProvider.setScheduleInfos(TestSchedulesProvider.createTwoValidScheduleInfos(mContext)); final Bundle bundle = mProvider.call(SchedulesProvider.METHOD_GENERATE_SCHEDULE_INFO_LIST, null /* arg */, null /* extras */); Loading @@ -89,7 +95,8 @@ public class SchedulesProviderTest { @Test public void call_addTwoValidDataAndOneInvalidData_returnTwoScheduleInfoData() { mProvider.setScheduleInfos(TestSchedulesProvider.createTwoValidAndOneInvalidScheduleInfo()); mProvider.setScheduleInfos( TestSchedulesProvider.createTwoValidAndOneInvalidScheduleInfo(mContext)); final Bundle bundle = mProvider.call(SchedulesProvider.METHOD_GENERATE_SCHEDULE_INFO_LIST, null /* arg */, null /* extras */); Loading @@ -112,55 +119,56 @@ public class SchedulesProviderTest { mScheduleInfos = scheduleInfos; } private static ArrayList<ScheduleInfo> createOneValidScheduleInfo() { private static ArrayList<ScheduleInfo> createOneValidScheduleInfo(Context context) { final ArrayList<ScheduleInfo> scheduleInfos = new ArrayList<>(); final Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); final ScheduleInfo info = new ScheduleInfo.Builder().setTitle( "Night Light").setSummary("This a sunny test").setIntent(intent).build(); final ScheduleInfo info = new ScheduleInfo.Builder().setTitle("Night Light").setSummary( "This a sunny test").setPendingIntent(createTestPendingIntent(context, "android.settings.NIGHT_DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); return scheduleInfos; } private static ArrayList<ScheduleInfo> createTwoValidScheduleInfos() { private static ArrayList<ScheduleInfo> createTwoValidScheduleInfos(Context context) { final ArrayList<ScheduleInfo> scheduleInfos = new ArrayList<>(); Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); ScheduleInfo info = new ScheduleInfo.Builder().setTitle( "Night Light").setSummary("This a sunny test").setIntent(intent).build(); ScheduleInfo info = new ScheduleInfo.Builder().setTitle("Night Light").setSummary( "This a sunny test").setPendingIntent(createTestPendingIntent(context, "android.settings.NIGHT_DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); intent = new Intent("android.settings.DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); info = new ScheduleInfo.Builder().setTitle("Display").setSummary( "Display summary").setIntent(intent).build(); "Display summary").setPendingIntent( createTestPendingIntent(context, "android.settings.DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); return scheduleInfos; } private static ArrayList<ScheduleInfo> createTwoValidAndOneInvalidScheduleInfo() { private static ArrayList<ScheduleInfo> createTwoValidAndOneInvalidScheduleInfo( Context context) { final ArrayList<ScheduleInfo> scheduleInfos = new ArrayList<>(); Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); ScheduleInfo info = new ScheduleInfo.Builder().setTitle( "Night Light").setSummary("This a sunny test").setIntent(intent).build(); ScheduleInfo info = new ScheduleInfo.Builder().setTitle("Night Light").setSummary( "This a sunny test").setPendingIntent(createTestPendingIntent(context, "android.settings.NIGHT_DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); intent = new Intent("android.settings.DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); info = new ScheduleInfo.Builder().setTitle("Display").setSummary( "Display summary").setIntent(intent).build(); "Display summary").setPendingIntent( createTestPendingIntent(context, "android.settings.DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); intent = new Intent("android.settings.DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); info = new ScheduleInfo.Builder().setTitle("").setSummary("Display summary").setIntent( intent).build(); info = new ScheduleInfo.Builder().setTitle("").setSummary( "Display summary").setPendingIntent( createTestPendingIntent(context, "android.settings.DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); return scheduleInfos; } private static PendingIntent createTestPendingIntent(Context context, String action) { final Intent intent = new Intent(action).addCategory(Intent.CATEGORY_DEFAULT); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } } } Loading
packages/SettingsLib/SchedulesProvider/src/com/android/settingslib/schedulesprovider/ScheduleInfo.java +22 −17 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settingslib.schedulesprovider; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; Loading @@ -25,25 +27,25 @@ import androidx.annotation.NonNull; /** * Schedule data item containing the schedule title text, the summary text which is displayed on the * summary of the Settings preference and an {@link Intent} which Settings will launch when the * user clicks on the preference. * summary of the Settings preference and a {@link PendingIntent} which Settings will launch * when the user clicks on the preference. */ public class ScheduleInfo implements Parcelable { private static final String TAG = "ScheduleInfo"; private final String mTitle; private final String mSummary; private final Intent mIntent; private final PendingIntent mPendingIntent; public ScheduleInfo(Builder builder) { mTitle = builder.mTitle; mSummary = builder.mSummary; mIntent = builder.mIntent; mPendingIntent = builder.mPendingIntent; } private ScheduleInfo(Parcel in) { mTitle = in.readString(); mSummary = in.readString(); mIntent = in.readParcelable(Intent.class.getClassLoader()); mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader()); } /** Loading @@ -61,11 +63,11 @@ public class ScheduleInfo implements Parcelable { } /** * Returns an {@link Intent} which Settings will launch when the user clicks on a schedule * preference. * Returns a {@link PendingIntent} which Settings will launch when the user clicks on a * schedule preference. */ public Intent getIntent() { return mIntent; public PendingIntent getPendingIntent() { return mPendingIntent; } /** Loading @@ -74,14 +76,15 @@ public class ScheduleInfo implements Parcelable { * @return {@code true} if all member variables are valid. */ public boolean isValid() { return !TextUtils.isEmpty(mTitle) && !TextUtils.isEmpty(mSummary) && (mIntent != null); return !TextUtils.isEmpty(mTitle) && !TextUtils.isEmpty(mSummary) && (mPendingIntent != null); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mTitle); dest.writeString(mSummary); dest.writeParcelable(mIntent, flags); dest.writeParcelable(mPendingIntent, flags); } @Override Loading @@ -104,7 +107,7 @@ public class ScheduleInfo implements Parcelable { @NonNull @Override public String toString() { return "title: " + mTitle + ", summary: " + mSummary + ", intent: " + mIntent; return "title: " + mTitle + ", summary: " + mSummary + ", pendingIntent: " + mPendingIntent; } /** Loading @@ -113,7 +116,7 @@ public class ScheduleInfo implements Parcelable { public static class Builder { private String mTitle; private String mSummary; private Intent mIntent; private PendingIntent mPendingIntent; /** * Sets the title. Loading @@ -138,13 +141,15 @@ public class ScheduleInfo implements Parcelable { } /** * Sets the {@link Intent}. * Sets the {@link PendingIntent}. * <p>The {@link PendingIntent} should be created with * {@link PendingIntent#getActivity(Context, int, Intent, int)}. * * @param intent The action when user clicks the preference. * @param pendingIntent The pending intent to send when the user clicks the preference. * @return This instance. */ public Builder setIntent(@NonNull Intent intent) { mIntent = intent; public Builder setPendingIntent(@NonNull PendingIntent pendingIntent) { mPendingIntent = pendingIntent; return this; } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/schedulesprovider/ScheduleInfoTest.java +24 −17 Original line number Diff line number Diff line Loading @@ -17,11 +17,14 @@ package com.android.settingslib.schedulesprovider; import static com.google.common.truth.Truth.assertThat; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class ScheduleInfoTest { Loading @@ -29,10 +32,12 @@ public class ScheduleInfoTest { private static final String TEST_SUMMARY = "Night Light summary"; private static final String TEST_EMPTY_SUMMARY = ""; private final Context mContext = RuntimeEnvironment.application; @Test public void builder_usedValidArguments_isValid() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info).isNotNull(); assertThat(info.isValid()).isTrue(); Loading @@ -40,15 +45,16 @@ public class ScheduleInfoTest { @Test public void builder_useEmptySummary_isInvalid() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_EMPTY_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_EMPTY_SUMMARY, pendingIntent); assertThat(info).isNotNull(); assertThat(info.isValid()).isFalse(); } @Test public void builder_intentIsNull_isInvalid() { public void builder_pendingIntentIsNull_isInvalid() { final ScheduleInfo info = new ScheduleInfo.Builder() .setTitle(TEST_TITLE) .setSummary(TEST_SUMMARY) Loading @@ -60,39 +66,40 @@ public class ScheduleInfoTest { @Test public void getTitle_setValidTitle_shouldReturnSameCorrectTitle() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info.getTitle()).isEqualTo(TEST_TITLE); } @Test public void getSummary_setValidSummary_shouldReturnSameCorrectSummary() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info.getSummary()).isEqualTo(TEST_SUMMARY); } @Test public void getIntent_setValidIntent_shouldReturnSameCorrectIntent() { final Intent intent = createTestIntent(); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, intent); public void getPendingIntent_setValidPendingIntent_shouldReturnSameCorrectIntent() { final PendingIntent pendingIntent = createTestPendingIntent(mContext); final ScheduleInfo info = createTestScheduleInfo(TEST_TITLE, TEST_SUMMARY, pendingIntent); assertThat(info.getIntent()).isEqualTo(intent); assertThat(info.getPendingIntent()).isEqualTo(pendingIntent); } private static Intent createTestIntent() { return new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( private static PendingIntent createTestPendingIntent(Context context) { final Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } private static ScheduleInfo createTestScheduleInfo(String title, String summary, Intent intent) { PendingIntent pendingIntent) { return new ScheduleInfo.Builder() .setTitle(title) .setSummary(summary) .setIntent(intent) .setPendingIntent(pendingIntent) .build(); } }
packages/SettingsLib/tests/robotests/src/com/android/settingslib/schedulesprovider/SchedulesProviderTest.java +36 −28 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ import static com.google.common.truth.Truth.assertThat; import static org.robolectric.Shadows.shadowOf; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; Loading @@ -27,6 +29,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import java.util.ArrayList; Loading @@ -35,13 +38,16 @@ public class SchedulesProviderTest { private static final String INVALID_PACKAGE = "com.android.sunny"; private static final String VALID_PACKAGE = "com.android.settings"; private static final String INVALID_METHOD = "queryTestData"; private final Context mContext = RuntimeEnvironment.application; private TestSchedulesProvider mProvider; @Before public void setUp() { mProvider = Robolectric.setupContentProvider(TestSchedulesProvider.class); shadowOf(mProvider).setCallingPackage(VALID_PACKAGE); mProvider.setScheduleInfos(TestSchedulesProvider.createOneValidScheduleInfo()); mProvider.setScheduleInfos(TestSchedulesProvider.createOneValidScheduleInfo(mContext)); } @Test Loading Loading @@ -76,7 +82,7 @@ public class SchedulesProviderTest { @Test public void call_addTwoValidData_returnScheduleInfoData() { mProvider.setScheduleInfos(TestSchedulesProvider.createTwoValidScheduleInfos()); mProvider.setScheduleInfos(TestSchedulesProvider.createTwoValidScheduleInfos(mContext)); final Bundle bundle = mProvider.call(SchedulesProvider.METHOD_GENERATE_SCHEDULE_INFO_LIST, null /* arg */, null /* extras */); Loading @@ -89,7 +95,8 @@ public class SchedulesProviderTest { @Test public void call_addTwoValidDataAndOneInvalidData_returnTwoScheduleInfoData() { mProvider.setScheduleInfos(TestSchedulesProvider.createTwoValidAndOneInvalidScheduleInfo()); mProvider.setScheduleInfos( TestSchedulesProvider.createTwoValidAndOneInvalidScheduleInfo(mContext)); final Bundle bundle = mProvider.call(SchedulesProvider.METHOD_GENERATE_SCHEDULE_INFO_LIST, null /* arg */, null /* extras */); Loading @@ -112,55 +119,56 @@ public class SchedulesProviderTest { mScheduleInfos = scheduleInfos; } private static ArrayList<ScheduleInfo> createOneValidScheduleInfo() { private static ArrayList<ScheduleInfo> createOneValidScheduleInfo(Context context) { final ArrayList<ScheduleInfo> scheduleInfos = new ArrayList<>(); final Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); final ScheduleInfo info = new ScheduleInfo.Builder().setTitle( "Night Light").setSummary("This a sunny test").setIntent(intent).build(); final ScheduleInfo info = new ScheduleInfo.Builder().setTitle("Night Light").setSummary( "This a sunny test").setPendingIntent(createTestPendingIntent(context, "android.settings.NIGHT_DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); return scheduleInfos; } private static ArrayList<ScheduleInfo> createTwoValidScheduleInfos() { private static ArrayList<ScheduleInfo> createTwoValidScheduleInfos(Context context) { final ArrayList<ScheduleInfo> scheduleInfos = new ArrayList<>(); Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); ScheduleInfo info = new ScheduleInfo.Builder().setTitle( "Night Light").setSummary("This a sunny test").setIntent(intent).build(); ScheduleInfo info = new ScheduleInfo.Builder().setTitle("Night Light").setSummary( "This a sunny test").setPendingIntent(createTestPendingIntent(context, "android.settings.NIGHT_DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); intent = new Intent("android.settings.DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); info = new ScheduleInfo.Builder().setTitle("Display").setSummary( "Display summary").setIntent(intent).build(); "Display summary").setPendingIntent( createTestPendingIntent(context, "android.settings.DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); return scheduleInfos; } private static ArrayList<ScheduleInfo> createTwoValidAndOneInvalidScheduleInfo() { private static ArrayList<ScheduleInfo> createTwoValidAndOneInvalidScheduleInfo( Context context) { final ArrayList<ScheduleInfo> scheduleInfos = new ArrayList<>(); Intent intent = new Intent("android.settings.NIGHT_DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); ScheduleInfo info = new ScheduleInfo.Builder().setTitle( "Night Light").setSummary("This a sunny test").setIntent(intent).build(); ScheduleInfo info = new ScheduleInfo.Builder().setTitle("Night Light").setSummary( "This a sunny test").setPendingIntent(createTestPendingIntent(context, "android.settings.NIGHT_DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); intent = new Intent("android.settings.DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); info = new ScheduleInfo.Builder().setTitle("Display").setSummary( "Display summary").setIntent(intent).build(); "Display summary").setPendingIntent( createTestPendingIntent(context, "android.settings.DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); intent = new Intent("android.settings.DISPLAY_SETTINGS").addCategory( Intent.CATEGORY_DEFAULT); info = new ScheduleInfo.Builder().setTitle("").setSummary("Display summary").setIntent( intent).build(); info = new ScheduleInfo.Builder().setTitle("").setSummary( "Display summary").setPendingIntent( createTestPendingIntent(context, "android.settings.DISPLAY_SETTINGS")).build(); scheduleInfos.add(info); return scheduleInfos; } private static PendingIntent createTestPendingIntent(Context context, String action) { final Intent intent = new Intent(action).addCategory(Intent.CATEGORY_DEFAULT); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } } }