Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java |
index 3c9edc29be30306eb710207e6a68f626b7f7d64d..f4a70c04982b9c404bf21c75ef7b886195306d2d 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java |
@@ -13,6 +13,7 @@ import android.support.v4.widget.DrawerLayout; |
import android.support.v4.widget.DrawerLayout.DrawerListener; |
import android.support.v7.widget.LinearLayoutManager; |
import android.support.v7.widget.RecyclerView; |
+import android.support.v7.widget.RecyclerView.AdapterDataObserver; |
import android.support.v7.widget.Toolbar.OnMenuItemClickListener; |
import android.text.TextUtils; |
import android.view.Gravity; |
@@ -21,6 +22,7 @@ import android.view.MenuItem; |
import android.view.View; |
import android.view.ViewGroup; |
import android.widget.ListView; |
+import android.widget.TextView; |
import org.chromium.base.ApiCompatibilityUtils; |
import org.chromium.base.Callback; |
@@ -83,12 +85,26 @@ public class DownloadManagerUi implements OnMenuItemClickListener, BackendProvid |
private final SpaceDisplay mSpaceDisplay; |
private final ListView mFilterView; |
private final RecyclerView mRecyclerView; |
+ private final TextView mEmptyView; |
private BasicNativePage mNativePage; |
private OfflinePageDownloadBridge mOfflinePageBridge; |
private SelectionDelegate<DownloadHistoryItemWrapper> mSelectionDelegate; |
private final AtomicInteger mNumberOfFilesBeingDeleted = new AtomicInteger(); |
+ private final AdapterDataObserver mAdapterObserver = new AdapterDataObserver() { |
+ @Override |
+ public void onChanged() { |
+ if (mHistoryAdapter.getItemCount() == 0) { |
+ mEmptyView.setVisibility(View.VISIBLE); |
+ mRecyclerView.setVisibility(View.GONE); |
+ } else { |
+ mEmptyView.setVisibility(View.GONE); |
+ mRecyclerView.setVisibility(View.VISIBLE); |
+ } |
+ } |
+ }; |
+ |
public DownloadManagerUi( |
Activity activity, boolean isOffTheRecord, ComponentName parentComponent) { |
mActivity = activity; |
@@ -103,6 +119,10 @@ public class DownloadManagerUi implements OnMenuItemClickListener, BackendProvid |
mHistoryAdapter = new DownloadHistoryAdapter(isOffTheRecord, parentComponent); |
mHistoryAdapter.initialize(this); |
addObserver(mHistoryAdapter); |
+ mHistoryAdapter.registerAdapterDataObserver(mAdapterObserver); |
+ |
+ mEmptyView = (TextView) mMainView.findViewById(R.id.empty_view); |
+ mEmptyView.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.downloads_big, 0, 0); |
mSpaceDisplay = new SpaceDisplay(mMainView, mHistoryAdapter); |
mHistoryAdapter.registerAdapterDataObserver(mSpaceDisplay); |
@@ -165,6 +185,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener, BackendProvid |
mOfflinePageBridge = null; |
} |
+ mHistoryAdapter.unregisterAdapterDataObserver(mAdapterObserver); |
mHistoryAdapter.unregisterAdapterDataObserver(mSpaceDisplay); |
} |