From ab617db46883ffbb9ee77dacd54613bdc026cc2d Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Wed, 17 Apr 2013 14:58:58 -0400 Subject: no blank album lists. Bug: 8060514 Change-Id: Iaf122899f45b9fd94877e695c99872b8103bd616 --- .../dreams/phototable/FlipperDreamSettings.java | 31 +++++++++++++++++----- 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'src/com/android/dreams/phototable') diff --git a/src/com/android/dreams/phototable/FlipperDreamSettings.java b/src/com/android/dreams/phototable/FlipperDreamSettings.java index 87802c6..464029e 100644 --- a/src/com/android/dreams/phototable/FlipperDreamSettings.java +++ b/src/com/android/dreams/phototable/FlipperDreamSettings.java @@ -19,6 +19,7 @@ import android.app.ListActivity; import android.content.SharedPreferences; import android.database.DataSetObserver; import android.os.AsyncTask; +import android.os.AsyncTask.Status; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; @@ -40,6 +41,7 @@ public class FlipperDreamSettings extends ListActivity { private PhotoSourcePlexor mPhotoSource; private SectionedAlbumDataAdapter mAdapter; private MenuItem mSelectAll; + private AsyncTask mLoadingTask; @Override protected void onCreate(Bundle savedInstanceState){ @@ -48,11 +50,20 @@ public class FlipperDreamSettings extends ListActivity { init(); } + @Override + protected void onResume(){ + super.onResume(); + init(); + } + protected void init() { mPhotoSource = new PhotoSourcePlexor(this, mSettings); setContentView(R.layout.settingslist); - - new AsyncTask() { + if (mLoadingTask != null && mLoadingTask.getStatus() != Status.FINISHED) { + mLoadingTask.cancel(true); + } + showApology(false); + mLoadingTask = new AsyncTask() { @Override public Void doInBackground(Void... unused) { mAdapter = new SectionedAlbumDataAdapter(FlipperDreamSettings.this, @@ -78,11 +89,10 @@ public class FlipperDreamSettings extends ListActivity { setListAdapter(mAdapter); getListView().setItemsCanFocus(true); updateActionItem(); - if (mAdapter.getCount() == 0) { - findViewById(android.R.id.empty).setVisibility(View.GONE); - } + showApology(mAdapter.getCount() == 0); } - }.execute(); + }; + mLoadingTask.execute(); } @Override @@ -105,6 +115,15 @@ public class FlipperDreamSettings extends ListActivity { } } + private void showApology(boolean apologize) { + View empty = findViewById(R.id.spinner); + View sorry = findViewById(R.id.sorry); + if (empty != null && sorry != null) { + empty.setVisibility(apologize ? View.GONE : View.VISIBLE); + sorry.setVisibility(apologize ? View.VISIBLE : View.GONE); + } + } + private void updateActionItem() { if (mAdapter != null && mSelectAll != null) { if (mAdapter.areAllSelected()) { -- cgit v1.2.3