Skip to content

Commit 1582094

Browse files
committed
Use new pause/resume support in sample app
1 parent 38ecd59 commit 1582094

8 files changed

+45
-0
lines changed

picasso-sample/src/main/java/com/example/picasso/PicassoSampleActivity.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import android.widget.ListView;
1111
import android.widget.ToggleButton;
1212

13+
import com.squareup.picasso.Picasso;
14+
1315
import static android.view.View.GONE;
1416
import static android.view.View.VISIBLE;
1517

@@ -40,6 +42,12 @@ public void onItemClick(AdapterView<?> adapterView, View view, int position, lon
4042
});
4143
}
4244

45+
@Override
46+
protected void onDestroy() {
47+
super.onDestroy();
48+
Picasso.with(this).cancelTag(this);
49+
}
50+
4351
@Override public void onBackPressed() {
4452
if (showHide.isChecked()) {
4553
showHide.setChecked(false);

picasso-sample/src/main/java/com/example/picasso/SampleContactsActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class SampleContactsActivity extends PicassoSampleActivity
4242

4343
ListView lv = (ListView) findViewById(android.R.id.list);
4444
lv.setAdapter(adapter);
45+
lv.setOnScrollListener(new SampleScrollListener(this));
4546

4647
getSupportLoaderManager().initLoader(ContactsQuery.QUERY_ID, null, this);
4748
}

picasso-sample/src/main/java/com/example/picasso/SampleContactsAdapter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public SampleContactsAdapter(Context context) {
6161
Picasso.with(context)
6262
.load(contactUri)
6363
.placeholder(R.drawable.contact_picture_placeholder)
64+
.tag(context)
6465
.into(holder.icon);
6566
}
6667

picasso-sample/src/main/java/com/example/picasso/SampleGridViewActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ public class SampleGridViewActivity extends PicassoSampleActivity {
1010

1111
GridView gv = (GridView) findViewById(R.id.grid_view);
1212
gv.setAdapter(new SampleGridViewAdapter(this));
13+
gv.setOnScrollListener(new SampleScrollListener(this));
1314
}
1415
}

picasso-sample/src/main/java/com/example/picasso/SampleGridViewAdapter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public SampleGridViewAdapter(Context context) {
4444
.placeholder(R.drawable.placeholder) //
4545
.error(R.drawable.error) //
4646
.fit() //
47+
.tag(context) //
4748
.into(view);
4849

4950
return view;

picasso-sample/src/main/java/com/example/picasso/SampleListDetailActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public static ListFragment newInstance() {
4343
ListView listView = (ListView) LayoutInflater.from(activity)
4444
.inflate(R.layout.sample_list_detail_list, container, false);
4545
listView.setAdapter(adapter);
46+
listView.setOnScrollListener(new SampleScrollListener(activity));
4647
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
4748
@Override
4849
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
@@ -83,6 +84,7 @@ public static DetailFragment newInstance(String url) {
8384
Picasso.with(activity)
8485
.load(url)
8586
.fit()
87+
.tag(activity)
8688
.into(imageView);
8789

8890
return view;

picasso-sample/src/main/java/com/example/picasso/SampleListDetailAdapter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public SampleListDetailAdapter(Context context) {
4545
.error(R.drawable.error)
4646
.resizeDimen(R.dimen.list_detail_image_size, R.dimen.list_detail_image_size)
4747
.centerInside()
48+
.tag(context)
4849
.into(holder.image);
4950

5051
return view;
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.example.picasso;
2+
3+
import android.content.Context;
4+
import android.widget.AbsListView;
5+
6+
import com.squareup.picasso.Picasso;
7+
8+
public class SampleScrollListener implements AbsListView.OnScrollListener {
9+
private final Context context;
10+
11+
public SampleScrollListener(Context context) {
12+
this.context = context;
13+
}
14+
15+
@Override
16+
public void onScrollStateChanged(AbsListView view, int scrollState) {
17+
final Picasso picasso = Picasso.with(context);
18+
if (scrollState == SCROLL_STATE_IDLE || scrollState == SCROLL_STATE_TOUCH_SCROLL) {
19+
picasso.resumeTag(context);
20+
} else {
21+
picasso.pauseTag(context);
22+
}
23+
}
24+
25+
@Override
26+
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
27+
int totalItemCount) {
28+
// Do nothing.
29+
}
30+
}

0 commit comments

Comments
 (0)