diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java index 3ac00699baf..c6f6db469c2 100644 --- a/src/com/android/settings/slices/SliceBuilderUtils.java +++ b/src/com/android/settings/slices/SliceBuilderUtils.java @@ -30,13 +30,16 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; +import android.provider.Settings; import android.provider.SettingsSlicesContract; import android.text.TextUtils; +import android.util.Log; import android.util.Pair; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.SettingsActivity; import com.android.settings.SubSettings; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SliderPreferenceController; @@ -75,6 +78,7 @@ public class SliceBuilderUtils { * {@param sliceData} is an inline controller. */ public static Slice buildSlice(Context context, SliceData sliceData) { + Log.d(TAG, "Creating slice for: " + sliceData.getPreferenceController()); final BasePreferenceController controller = getPreferenceController(context, sliceData); final Pair sliceNamePair = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_NAME, sliceData.getKey()); @@ -177,8 +181,7 @@ public class SliceBuilderUtils { * @return {@link PendingIntent} to the Settings home page. */ public static PendingIntent getSettingsIntent(Context context) { - final PackageManager manager = context.getPackageManager(); - final Intent intent = manager.getLaunchIntentForPackage(context.getPackageName()); + final Intent intent = new Intent(Settings.ACTION_SETTINGS); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java index 20bb5a04cae..a74e2baec0c 100644 --- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; +import android.app.PendingIntent; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; @@ -405,6 +406,16 @@ public class SliceBuilderUtilsTest { assertThat(intentData).isEqualTo(expectedUri); } + @Test + public void getSettingsIntent_createsIntentToSettings() { + final Intent intent = new Intent(Settings.ACTION_SETTINGS); + final PendingIntent expectedIntent = PendingIntent.getActivity(mContext, 0, intent, 0); + + final PendingIntent settingsIntent = SliceBuilderUtils.getSettingsIntent(mContext); + + assertThat(expectedIntent).isEqualTo(settingsIntent); + } + private SliceData getDummyData() { return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH); }