Skip to content

Commit f496c72

Browse files
committed
updates for newer slice API
1 parent 8545061 commit f496c72

File tree

8 files changed

+72
-37
lines changed

8 files changed

+72
-37
lines changed

Slices/SamplerX/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ android {
1313
}
1414

1515
dependencies {
16-
implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
17-
implementation 'androidx.slice:slice-builders:1.0.0-alpha1'
16+
implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
17+
implementation 'androidx.slice:slice-builders:1.0.0-beta01'
1818
}

Slices/SamplerX/app/src/main/java/com/commonsware/android/slice/sampler/SamplerSliceProvider.java

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,35 +46,33 @@ public Slice onBindSlice(Uri sliceUri) {
4646
R.drawable.ic_looks_two_black_24dp));
4747

4848
builder
49-
.setHeader(buildHeader(builder, ctxt))
50-
.addRow(buildSimpleRow(builder, ctxt))
51-
.addInputRange(buildRangeRow(builder, ctxt));
49+
.setHeader(buildHeader(ctxt))
50+
.addRow(buildSimpleRow(ctxt))
51+
.addInputRange(buildRangeRow(ctxt));
5252

5353
return builder.build();
5454
}
5555

56-
ListBuilder.HeaderBuilder buildHeader(ListBuilder builder, Context ctxt) {
57-
return new ListBuilder.HeaderBuilder(builder)
56+
ListBuilder.HeaderBuilder buildHeader(Context ctxt) {
57+
return new ListBuilder.HeaderBuilder()
5858
.setTitle("Header Title")
5959
.setSubtitle("This is the subtitle")
6060
.setSummary("This is the summary", false)
6161
.setPrimaryAction(buildIconAction(ctxt, "Header Primary Action",
6262
R.drawable.ic_looks_one_black_24dp));
6363
}
6464

65-
RowBuilder buildSimpleRow(ListBuilder builder, Context ctxt) {
66-
return new RowBuilder(builder)
67-
.setTitleItem(buildIcon(ctxt, R.drawable.ic_looks_3_black_24dp),
68-
ListBuilder.ICON_IMAGE)
65+
RowBuilder buildSimpleRow(Context ctxt) {
66+
return new RowBuilder()
6967
.setTitle("Simple Row Title")
7068
.setSubtitle("This is the subtitle")
7169
.setPrimaryAction(buildIconAction(ctxt, "Simple Row Primary Action",
7270
R.drawable.ic_looks_4_black_24dp))
73-
.addEndItem(buildPlainAction(ctxt, "Simple Row End Item", R.id.toggle));
71+
.addEndItem(buildToggleAction(ctxt, "Simple Row End Item", R.id.toggle));
7472
}
7573

76-
ListBuilder.InputRangeBuilder buildRangeRow(ListBuilder builder, Context ctxt) {
77-
return new ListBuilder.InputRangeBuilder(builder)
74+
ListBuilder.InputRangeBuilder buildRangeRow(Context ctxt) {
75+
return new ListBuilder.InputRangeBuilder()
7876
.setTitle("Range Title")
7977
.setSubtitle("This is the subtitle")
8078
.setMax(10)
@@ -85,12 +83,12 @@ ListBuilder.InputRangeBuilder buildRangeRow(ListBuilder builder, Context ctxt) {
8583
}
8684

8785
SliceAction buildIconAction(Context ctxt, String msg, @DrawableRes int iconRes) {
88-
return new SliceAction(buildActionPI(ctxt, msg, iconRes),
89-
buildIcon(ctxt, iconRes), msg);
86+
return SliceAction.create(buildActionPI(ctxt, msg, iconRes),
87+
buildIcon(ctxt, iconRes), ListBuilder.ICON_IMAGE, msg);
9088
}
9189

92-
SliceAction buildPlainAction(Context ctxt, String msg, int id) {
93-
return new SliceAction(buildActionPI(ctxt, msg, id), msg, false);
90+
SliceAction buildToggleAction(Context ctxt, String msg, int id) {
91+
return SliceAction.createToggle(buildActionPI(ctxt, msg, id), msg, false);
9492
}
9593

9694
PendingIntent buildActionPI(Context ctxt, String msg, int id) {

Slices/SamplerX/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
jcenter()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:3.2.0-alpha16'
10+
classpath 'com.android.tools.build:gradle:3.2.0-beta04'
1111

1212

1313
// NOTE: Do not place your application dependencies here; they belong

Slices/WeatherSlice/app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ android {
2121
}
2222

2323
dependencies {
24-
implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
25-
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
26-
implementation 'androidx.annotation:annotation:1.0.0-alpha1'
27-
implementation 'androidx.slice:slice-builders:1.0.0-alpha1'
24+
implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
25+
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
26+
implementation 'androidx.annotation:annotation:1.0.0-beta01'
27+
implementation 'androidx.slice:slice-builders:1.0.0-beta01'
2828
implementation 'com.squareup.picasso:picasso:2.5.2'
2929
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
3030
implementation 'com.squareup.okhttp3:okhttp:3.10.0'

Slices/WeatherSlice/app/src/main/java/com/commonsware/android/slice/weather/WeatherSliceProvider.java

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,26 @@
1414

1515
package com.commonsware.android.slice.weather;
1616

17+
import android.app.PendingIntent;
1718
import android.content.Context;
19+
import android.content.Intent;
1820
import android.net.Uri;
1921
import org.threeten.bp.OffsetDateTime;
2022
import org.threeten.bp.format.DateTimeFormatter;
2123
import org.threeten.bp.format.FormatStyle;
24+
import androidx.annotation.DrawableRes;
2225
import androidx.core.graphics.drawable.IconCompat;
2326
import androidx.slice.Slice;
2427
import androidx.slice.SliceProvider;
2528
import androidx.slice.builders.GridRowBuilder;
2629
import androidx.slice.builders.ListBuilder;
30+
import androidx.slice.builders.SliceAction;
2731
import static androidx.slice.builders.ListBuilder.LARGE_IMAGE;
2832

2933
public class WeatherSliceProvider extends SliceProvider {
34+
static final Uri NYC_FORECAST=
35+
Uri.parse(
36+
"https://forecast.weather.gov/MapClick.php?lat=40.7146&lon=-74.0071");
3037
static final DateTimeFormatter FORMATTER=
3138
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
3239
static final Uri ME=new Uri.Builder()
@@ -47,44 +54,64 @@ public Slice onBindSlice(Uri sliceUri) {
4754
}
4855

4956
ListBuilder builder=new ListBuilder(ctxt, sliceUri, ListBuilder.INFINITY)
50-
.setAccentColor(ctxt.getResources().getColor(
51-
R.color.colorAccent));
57+
.setAccentColor(ctxt.getResources().getColor(R.color.colorAccent));
5258

53-
builder.setHeader(buildHeader(builder, ctxt));
59+
builder.setHeader(buildHeader(ctxt));
5460

5561
WeatherResponse weather=Forecaster.LATEST;
5662

5763
if (weather==null) {
5864
Forecaster.enqueueWork(getContext());
5965

60-
builder.addRange(new ListBuilder.RangeBuilder(builder)
66+
builder.addRange(new ListBuilder.RangeBuilder()
6167
.setTitle(ctxt.getString(R.string.downloading)));
6268
}
6369
else {
64-
builder.addGridRow(buildGridRow(builder, ctxt));
70+
builder.addGridRow(buildGridRow());
6571
}
6672

6773
return builder.build();
6874
}
6975

70-
ListBuilder.HeaderBuilder buildHeader(ListBuilder builder, Context ctxt) {
71-
return new ListBuilder.HeaderBuilder(builder)
72-
.setTitle(ctxt.getString(R.string.header_title));
76+
ListBuilder.HeaderBuilder buildHeader(Context ctxt) {
77+
return new ListBuilder.HeaderBuilder()
78+
.setTitle(ctxt.getString(R.string.header_title))
79+
.setPrimaryAction(
80+
buildIconAction(ctxt, ctxt.getString(R.string.msg_forecast),
81+
R.drawable.ic_wb_sunny_black_24dp));
7382
}
7483

75-
GridRowBuilder buildGridRow(ListBuilder builder, Context ctxt) {
76-
GridRowBuilder row=new GridRowBuilder(builder);
84+
GridRowBuilder buildGridRow() {
85+
GridRowBuilder row=new GridRowBuilder();
7786

78-
for (int i=0;i<Forecaster.COUNT;i++) {
87+
for (int i=0; i<Forecaster.COUNT; i++) {
7988
WeatherResponse.Period period=Forecaster.LATEST.properties.periods.get(i);
8089
OffsetDateTime odt=OffsetDateTime.parse(period.startTime);
8190

82-
row.addCell(new GridRowBuilder.CellBuilder(row)
91+
row.addCell(new GridRowBuilder.CellBuilder()
8392
.addTitleText(odt.format(FORMATTER))
8493
.addImage(IconCompat.createWithBitmap(period.iconBitmap), LARGE_IMAGE)
85-
.addText(String.format("%d%s", period.temperature, period.temperatureUnit)));
94+
.addText(
95+
String.format("%d%s", period.temperature, period.temperatureUnit)));
8696
}
8797

8898
return row;
8999
}
100+
101+
SliceAction buildIconAction(Context ctxt, String msg,
102+
@DrawableRes int iconRes) {
103+
return SliceAction.create(buildActionPI(ctxt, iconRes),
104+
buildIcon(ctxt, iconRes), ListBuilder.ICON_IMAGE, msg);
105+
}
106+
107+
PendingIntent buildActionPI(Context ctxt, int id) {
108+
Intent i=new Intent(Intent.ACTION_VIEW, NYC_FORECAST);
109+
110+
return PendingIntent.getActivity(ctxt, id, i,
111+
PendingIntent.FLAG_UPDATE_CURRENT);
112+
}
113+
114+
IconCompat buildIcon(Context ctxt, @DrawableRes int iconRes) {
115+
return IconCompat.createWithResource(ctxt, iconRes);
116+
}
90117
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24.0"
5+
android:viewportHeight="24.0">
6+
<path
7+
android:fillColor="#FF000000"
8+
android:pathData="M6.76,4.84l-1.8,-1.79 -1.41,1.41 1.79,1.79 1.42,-1.41zM4,10.5L1,10.5v2h3v-2zM13,0.55h-2L11,3.5h2L13,0.55zM20.45,4.46l-1.41,-1.41 -1.79,1.79 1.41,1.41 1.79,-1.79zM17.24,18.16l1.79,1.8 1.41,-1.41 -1.8,-1.79 -1.4,1.4zM20,10.5v2h3v-2h-3zM12,5.5c-3.31,0 -6,2.69 -6,6s2.69,6 6,6 6,-2.69 6,-6 -2.69,-6 -6,-6zM11,22.45h2L13,19.5h-2v2.95zM3.55,18.54l1.41,1.41 1.79,-1.8 -1.41,-1.41 -1.79,1.8z"/>
9+
</vector>

Slices/WeatherSlice/app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<string name="app_name">Weather Slice</string>
33
<string name="header_title">NYC Weather</string>
44
<string name="downloading">Downloading forecast</string>
5+
<string name="msg_forecast">Full Forecast</string>
56
</resources>

Slices/WeatherSlice/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
jcenter()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:3.2.0-alpha16'
10+
classpath 'com.android.tools.build:gradle:3.2.0-beta04'
1111

1212

1313
// NOTE: Do not place your application dependencies here; they belong

0 commit comments

Comments
 (0)