summaryrefslogtreecommitdiffstats
path: root/ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-09-01 18:21:32 -0700
committerSteve Howard <showard@google.com>2010-09-08 16:18:59 -0700
commit217149efdc4a559c38442da179f548e125c0afc5 (patch)
treea7bc0486913bf0bc735d91ac073e8e32ea2c02db /ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java
parent6951c6304f5acad616652c0efc3f59ec4ec2a7e5 (diff)
downloadandroid_packages_providers_DownloadProvider-217149efdc4a559c38442da179f548e125c0afc5.tar.gz
android_packages_providers_DownloadProvider-217149efdc4a559c38442da179f548e125c0afc5.tar.bz2
android_packages_providers_DownloadProvider-217149efdc4a559c38442da179f548e125c0afc5.zip
First pass at new system UI for download manager.
This is the initial checkin for a new system UI for the download manager. This UI shows all entries present in the Download Manager database, sorted by either date or size. It allows the user to monitor status, open files, and delete/cancel entries. The code was initially copied from the "Downloads" page of packages/apps/Browser, since the design is based on that UI. Much of the code is changed, although DateSortedExpandableListAdapter is nearly identical. The code is not quite finished, but this is very much a working first pass. Change-Id: I7fe102e9f2998e57d893cc3c0f5f6da1cf2db549
Diffstat (limited to 'ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java')
-rw-r--r--ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java b/ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java
new file mode 100644
index 00000000..3e234008
--- /dev/null
+++ b/ui/src/com/android/providers/downloads/ui/DateSortedDownloadAdapter.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package com.android.providers.downloads.ui;
+
+import com.android.providers.downloads.ui.DownloadItem.DownloadSelectListener;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.net.DownloadManager;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.RelativeLayout;
+
+/**
+ * Adapter for a date-sorted list of downloads. Delegates all the real work to
+ * {@link DownloadAdapter}.
+ */
+public class DateSortedDownloadAdapter extends DateSortedExpandableListAdapter {
+ private DownloadAdapter mDelegate;
+
+ public DateSortedDownloadAdapter(Context context, Cursor cursor,
+ DownloadSelectListener selectionListener) {
+ super(context, cursor,
+ cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP));
+ mDelegate = new DownloadAdapter(context, cursor, selectionListener);
+ }
+
+ @Override
+ public View getChildView(int groupPosition, int childPosition,
+ boolean isLastChild, View convertView, ViewGroup parent) {
+ // The layout file uses a RelativeLayout, whereas the GroupViews use TextView.
+ if (null == convertView || !(convertView instanceof RelativeLayout)) {
+ convertView = mDelegate.newView();
+ }
+
+ // Bail early if the Cursor is closed.
+ if (!moveCursorToChildPosition(groupPosition, childPosition)) {
+ return convertView;
+ }
+
+ mDelegate.bindView(convertView);
+ return convertView;
+ }
+}