Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java

Issue 2270233003: [Android] Implement empty view for download manager ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add copyright to the xml drawable Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698