diff options
author | Chris Wren <cwren@android.com> | 2013-04-17 14:58:58 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2013-04-17 16:19:51 -0400 |
commit | ab617db46883ffbb9ee77dacd54613bdc026cc2d (patch) | |
tree | f4e1c99562eecc35e0fafeee391d256e2163f704 /src | |
parent | f362b8f1d503df040c55ac04913dabdbb2cd7155 (diff) | |
download | android_packages_screensavers_PhotoTable-ab617db46883ffbb9ee77dacd54613bdc026cc2d.tar.gz android_packages_screensavers_PhotoTable-ab617db46883ffbb9ee77dacd54613bdc026cc2d.tar.bz2 android_packages_screensavers_PhotoTable-ab617db46883ffbb9ee77dacd54613bdc026cc2d.zip |
no blank album lists.
Bug: 8060514
Change-Id: Iaf122899f45b9fd94877e695c99872b8103bd616
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/dreams/phototable/FlipperDreamSettings.java | 31 |
1 files changed, 25 insertions, 6 deletions
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<Void, Void, Void> 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<Void, Void, Void>() { + if (mLoadingTask != null && mLoadingTask.getStatus() != Status.FINISHED) { + mLoadingTask.cancel(true); + } + showApology(false); + mLoadingTask = new AsyncTask<Void, Void, Void>() { @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()) { |