Merge "Add permission hint, update permission slice structure" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-29 21:29:07 +00:00
committed by Android (Google) Code Review
3 changed files with 18 additions and 9 deletions

View File

@@ -7219,6 +7219,7 @@ package android.app.slice {
field public static final java.lang.String HINT_LIST_ITEM = "list_item"; field public static final java.lang.String HINT_LIST_ITEM = "list_item";
field public static final java.lang.String HINT_NO_TINT = "no_tint"; field public static final java.lang.String HINT_NO_TINT = "no_tint";
field public static final java.lang.String HINT_PARTIAL = "partial"; field public static final java.lang.String HINT_PARTIAL = "partial";
field public static final java.lang.String HINT_PERMISSION_REQUEST = "permission_request";
field public static final java.lang.String HINT_SEE_MORE = "see_more"; field public static final java.lang.String HINT_SEE_MORE = "see_more";
field public static final java.lang.String HINT_SELECTED = "selected"; field public static final java.lang.String HINT_SELECTED = "selected";
field public static final java.lang.String HINT_SHORTCUT = "shortcut"; field public static final java.lang.String HINT_SHORTCUT = "shortcut";

View File

@@ -70,6 +70,7 @@ public final class Slice implements Parcelable {
HINT_ERROR, HINT_ERROR,
HINT_TTL, HINT_TTL,
HINT_LAST_UPDATED, HINT_LAST_UPDATED,
HINT_PERMISSION_REQUEST,
}) })
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface SliceHint {} public @interface SliceHint {}
@@ -183,6 +184,11 @@ public final class Slice implements Parcelable {
* Hint indicating an item representing when the content was created or last updated. * Hint indicating an item representing when the content was created or last updated.
*/ */
public static final String HINT_LAST_UPDATED = "last_updated"; public static final String HINT_LAST_UPDATED = "last_updated";
/**
* A hint to indicate that this slice represents a permission request for showing
* slices.
*/
public static final String HINT_PERMISSION_REQUEST = "permission_request";
/** /**
* Key to retrieve an extra added to an intent when a control is changed. * Key to retrieve an extra added to an intent when a control is changed.
*/ */

View File

@@ -428,15 +428,17 @@ public abstract class SliceProvider extends ContentProvider {
} finally { } finally {
Handler.getMain().removeCallbacks(mAnr); Handler.getMain().removeCallbacks(mAnr);
} }
return new Slice.Builder(sliceUri) Slice.Builder parent = new Slice.Builder(sliceUri);
.addAction(action, Slice.Builder childAction = new Slice.Builder(parent)
new Slice.Builder(sliceUri.buildUpon().appendPath("permission").build()) .addHints(Arrays.asList(Slice.HINT_TITLE, Slice.HINT_SHORTCUT))
.addText(getPermissionString(context, callingPackage), null, .addAction(action, new Slice.Builder(parent).build(), null);
Collections.emptyList())
.build(), parent.addSubSlice(new Slice.Builder(sliceUri.buildUpon().appendPath("permission").build())
null) .addText(getPermissionString(context, callingPackage), null,
.addHints(Arrays.asList(Slice.HINT_LIST_ITEM)) Collections.emptyList())
.build(); .addSubSlice(childAction.build(), null)
.build(), null);
return parent.addHints(Arrays.asList(Slice.HINT_PERMISSION_REQUEST)).build();
} }
/** /**