@@ -40,65 +40,78 @@ public boolean onCreateSliceProvider() {
4040 // [START on_bind_slice]
4141 @ Override
4242 public Slice onBindSlice (Uri sliceUri ) {
43- // Create parent ListBuilder.
43+ if (getContext () == null ) {
44+ return null ;
45+ }
46+ SliceAction activityAction = createActivityAction ();
4447 ListBuilder listBuilder = new ListBuilder (getContext (), sliceUri , ListBuilder .INFINITY );
45-
46- // Create RowBuilder.
47- ListBuilder . RowBuilder rowBuilder = new ListBuilder .RowBuilder (listBuilder );
48-
49- if ( sliceUri . getPath (). equals ( "/hello" )) {
50- rowBuilder . setTitle ( "URI found." );
48+ // Create parent ListBuilder.
49+ if ( "/hello" . equals ( sliceUri . getPath ())) {
50+ listBuilder . addRow ( new ListBuilder .RowBuilder ()
51+ . setTitle ( "Hello World" )
52+ . setPrimaryAction ( activityAction )
53+ );
5154 } else {
52- rowBuilder .setTitle ("URI not found." );
55+ listBuilder .addRow (new ListBuilder .RowBuilder ()
56+ .setTitle ("URI not recognized" )
57+ .setPrimaryAction (activityAction )
58+ );
5359 }
54-
55- // Add Row to List.
56- listBuilder .addRow (rowBuilder );
57-
58- // Build List.
5960 return listBuilder .build ();
6061 }
6162 // [END on_bind_slice]
6263
6364 // [START create_slice]
6465 public Slice createSlice (Uri sliceUri ) {
66+ if (getContext () == null ) {
67+ return null ;
68+ }
6569 SliceAction activityAction = createActivityAction ();
66- ListBuilder listBuilder = new ListBuilder (getContext (), sliceUri , ListBuilder .INFINITY );
67- ListBuilder .RowBuilder rowBuilder = new ListBuilder .RowBuilder (listBuilder )
68- .setTitle ("Perform action in app." )
69- .setPrimaryAction (activityAction );
70- listBuilder .addRow (rowBuilder );
71- return listBuilder .build ();
70+ return new ListBuilder (getContext (), sliceUri , ListBuilder .INFINITY )
71+ .addRow (new ListBuilder .RowBuilder ()
72+ .setTitle ("Perform action in app." )
73+ .setPrimaryAction (activityAction )
74+ ).build ();
7275 }
7376
7477 public SliceAction createActivityAction () {
75- Intent intent = new Intent (getContext (), MainActivity .class );
76- return new SliceAction (PendingIntent .getActivity (getContext (), 0 , intent , 0 ),
78+ if (getContext () == null ) {
79+ return null ;
80+ }
81+ return SliceAction .create (
82+ PendingIntent .getActivity (
83+ getContext (),
84+ 0 ,
85+ new Intent (getContext (), MainActivity .class ),
86+ 0
87+ ),
7788 IconCompat .createWithResource (getContext (), R .drawable .ic_home ),
78- "Open MainActivity" );
89+ ListBuilder .ICON_IMAGE ,
90+ "Enter app"
91+ );
7992 }
8093 // [END create_slice]
8194
8295 // [START create_brightness_slice]
8396 public Slice createBrightnessSlice (Uri sliceUri ) {
84- SliceAction toggleAction = new SliceAction ( createToggleIntent (),
85- "Toggle adaptive brightness" , true ) ;
86- ListBuilder listBuilder = new ListBuilder ( getContext (), sliceUri , ListBuilder . INFINITY );
87- ListBuilder . RowBuilder rowBuilder = new ListBuilder . RowBuilder ( listBuilder )
88- . setTitle ( "Adaptive brightness" )
89- . setSubtitle ( "Optimizes brightness for available light." )
90- . setPrimaryAction ( toggleAction );
91-
92- listBuilder . addRow ( rowBuilder );
93-
94- ListBuilder . InputRangeBuilder inputRangeBuilder = new ListBuilder . InputRangeBuilder (
95- listBuilder )
96- . setInputAction ( brightnessPendingIntent )
97- . setMax ( 100 )
98- . setValue ( 45 );
99-
100- listBuilder . addInputRange ( inputRangeBuilder );
101-
97+ if ( getContext () == null ) {
98+ return null ;
99+ }
100+ SliceAction toggleAction = SliceAction . createToggle (
101+ createToggleIntent (),
102+ "Toggle adaptive brightness" ,
103+ true
104+ );
105+ ListBuilder listBuilder = new ListBuilder ( getContext (), sliceUri , ListBuilder . INFINITY )
106+ . addRow ( new ListBuilder . RowBuilder ()
107+ . setTitle ( "Adaptive brightness" )
108+ . setSubtitle ( "Optimizes brightness for available light." )
109+ . setPrimaryAction ( toggleAction )
110+ ). addInputRange ( new ListBuilder . InputRangeBuilder ( )
111+ . setInputAction ( brightnessPendingIntent )
112+ . setMax ( 100 )
113+ . setValue ( 45 )
114+ );
102115 return listBuilder .build ();
103116 }
104117
@@ -110,20 +123,31 @@ public PendingIntent createToggleIntent() {
110123
111124 // [START create_dynamic_slice]
112125 public Slice createDynamicSlice (Uri sliceUri ) {
126+ if (getContext () == null || sliceUri .getPath () == null ) {
127+ return null ;
128+ }
113129 ListBuilder listBuilder = new ListBuilder (getContext (), sliceUri , ListBuilder .INFINITY );
114- ListBuilder .RowBuilder rowBuilder = new ListBuilder .RowBuilder (listBuilder );
115130 switch (sliceUri .getPath ()) {
116131 case "/count" :
117- SliceAction toastAndIncrementAction = new SliceAction (createToastAndIncrementIntent (
118- "Item clicked." ), actionIcon , "Increment." );
119- rowBuilder .setPrimaryAction (toastAndIncrementAction )
120- .setTitle ("Count: " + MyBroadcastReceiver .sReceivedCount )
121- .setSubtitle ("Click me" );
122- listBuilder .addRow (rowBuilder );
132+ SliceAction toastAndIncrementAction = SliceAction .create (
133+ createToastAndIncrementIntent ("Item clicked." ),
134+ actionIcon ,
135+ ListBuilder .ICON_IMAGE ,
136+ "Increment."
137+ );
138+ listBuilder .addRow (
139+ new ListBuilder .RowBuilder ()
140+ .setPrimaryAction (toastAndIncrementAction )
141+ .setTitle ("Count: " + MyBroadcastReceiver .sReceivedCount )
142+ .setSubtitle ("Click me" )
143+ );
123144 break ;
124145 default :
125- rowBuilder .setTitle ("URI not found." );
126- listBuilder .addRow (rowBuilder );
146+ listBuilder .addRow (
147+ new ListBuilder .RowBuilder ()
148+ .setPrimaryAction (createActivityAction ())
149+ .setTitle ("URI not found." )
150+ );
127151 break ;
128152 }
129153 return listBuilder .build ();
0 commit comments