diff options
author | Fan Zhang <zhfan@google.com> | 2018-12-05 14:42:53 -0800 |
---|---|---|
committer | Fan Zhang <zhfan@google.com> | 2018-12-05 15:47:14 -0800 |
commit | d7fa2fa64e9da3495088173650aa26075fcb7a8d (patch) | |
tree | d0548bb96fe672dc41e40793d4afdee8cca6dc58 /src/com/android/settings/location | |
parent | bccad4abd83664611d0e9501db471d8a1746bf0e (diff) | |
download | packages_apps_Settings-d7fa2fa64e9da3495088173650aa26075fcb7a8d.tar.gz packages_apps_Settings-d7fa2fa64e9da3495088173650aa26075fcb7a8d.tar.bz2 packages_apps_Settings-d7fa2fa64e9da3495088173650aa26075fcb7a8d.zip |
Make a few custom slices implement CustomSliceable.
Bug: 80263568
Test: robotests, slice-browser
Change-Id: Id809a347d77448917154c2d1144fd2517e70829a
Diffstat (limited to 'src/com/android/settings/location')
-rw-r--r-- | src/com/android/settings/location/LocationSlice.java (renamed from src/com/android/settings/location/LocationSliceBuilder.java) | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/src/com/android/settings/location/LocationSliceBuilder.java b/src/com/android/settings/location/LocationSlice.java index f70d09b27b..6dc4241865 100644 --- a/src/com/android/settings/location/LocationSliceBuilder.java +++ b/src/com/android/settings/location/LocationSlice.java @@ -38,29 +38,31 @@ import com.android.settings.R; import com.android.settings.SubSettings; import com.android.settings.Utils; import com.android.settings.slices.CustomSliceRegistry; +import com.android.settings.slices.CustomSliceable; import com.android.settings.slices.SliceBuilderUtils; /** * Utility class to build an intent-based Location Slice. */ -public class LocationSliceBuilder { +public class LocationSlice implements CustomSliceable { - private LocationSliceBuilder() { + private final Context mContext; + + public LocationSlice(Context context) { + mContext = context; } - /** - * Return a Location Slice bound to {@link CustomSliceRegistry#LOCATION_SLICE_URI}. - */ - public static Slice getSlice(Context context) { - final IconCompat icon = IconCompat.createWithResource(context, + @Override + public Slice getSlice() { + final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.ic_signal_location); - final String title = context.getString(R.string.location_settings_title); - @ColorInt final int color = Utils.getColorAccentDefaultColor(context); - final PendingIntent primaryAction = getPrimaryAction(context); + final CharSequence title = mContext.getText(R.string.location_settings_title); + @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext); + final PendingIntent primaryAction = getPrimaryAction(); final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryAction, icon, ListBuilder.ICON_IMAGE, title); - return new ListBuilder(context, CustomSliceRegistry.LOCATION_SLICE_URI, + return new ListBuilder(mContext, CustomSliceRegistry.LOCATION_SLICE_URI, ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() @@ -70,19 +72,30 @@ public class LocationSliceBuilder { .build(); } - public static Intent getIntent(Context context) { - final String screenTitle = context.getText(R.string.location_settings_title).toString(); + @Override + public Uri getUri() { + return CustomSliceRegistry.LOCATION_SLICE_URI; + } + + @Override + public void onNotifyChange(Intent intent) { + + } + + @Override + public Intent getIntent() { + final String screenTitle = mContext.getText(R.string.location_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_LOCATION).build(); - return SliceBuilderUtils.buildSearchResultPageIntent(context, + return SliceBuilderUtils.buildSearchResultPageIntent(mContext, LocationSettings.class.getName(), KEY_LOCATION, screenTitle, MetricsEvent.LOCATION) - .setClassName(context.getPackageName(), SubSettings.class.getName()) + .setClassName(mContext.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } - private static PendingIntent getPrimaryAction(Context context) { - final Intent intent = getIntent(context); - return PendingIntent.getActivity(context, 0 /* requestCode */, + private PendingIntent getPrimaryAction() { + final Intent intent = getIntent(); + return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */); } } |