summaryrefslogtreecommitdiffstats
path: root/ui/src/com/android/providers/downloads/ui/DownloadItem.java
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/com/android/providers/downloads/ui/DownloadItem.java')
-rw-r--r--ui/src/com/android/providers/downloads/ui/DownloadItem.java156
1 files changed, 0 insertions, 156 deletions
diff --git a/ui/src/com/android/providers/downloads/ui/DownloadItem.java b/ui/src/com/android/providers/downloads/ui/DownloadItem.java
deleted file mode 100644
index 0562cd05..00000000
--- a/ui/src/com/android/providers/downloads/ui/DownloadItem.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * 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 android.content.Context;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.accessibility.AccessibilityEvent;
-import android.widget.CheckBox;
-import android.widget.Checkable;
-import android.widget.GridLayout;
-
-/**
- * This class customizes RelativeLayout to directly handle clicks on the left part of the view and
- * treat them at clicks on the checkbox. This makes rapid selection of many items easier. This class
- * also keeps an ID associated with the currently displayed download and notifies a listener upon
- * selection changes with that ID.
- */
-public class DownloadItem extends GridLayout implements Checkable {
- private static float CHECKMARK_AREA = -1;
-
- private boolean mIsInDownEvent = false;
- private CheckBox mCheckBox;
- private long mDownloadId;
- private String mFileName;
- private String mMimeType;
- private DownloadList mDownloadList;
- private int mPosition;
-
- public DownloadItem(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- initialize();
- }
-
- public DownloadItem(Context context, AttributeSet attrs) {
- super(context, attrs);
- initialize();
- }
-
- public DownloadItem(Context context) {
- super(context);
- initialize();
- }
-
- private void initialize() {
- if (CHECKMARK_AREA == -1) {
- CHECKMARK_AREA = getResources().getDimensionPixelSize(R.dimen.checkmark_area);
- }
- }
-
- @Override
- protected void onFinishInflate() {
- super.onFinishInflate();
- mCheckBox = (CheckBox) findViewById(R.id.download_checkbox);
- }
-
- public void setData(long downloadId, int position, String fileName, String mimeType) {
- mDownloadId = downloadId;
- mPosition = position;
- mFileName = fileName;
- mMimeType = mimeType;
- if (mDownloadList.isDownloadSelected(downloadId)) {
- setChecked(true);
- }
- }
-
- public void setDownloadListObj(DownloadList downloadList) {
- mDownloadList = downloadList;
- }
-
- private boolean inCheckArea(MotionEvent event) {
- if (isLayoutRtl()) {
- return event.getX() > getWidth() - CHECKMARK_AREA;
- } else {
- return event.getX() < CHECKMARK_AREA;
- }
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- boolean handled = false;
- switch(event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- if (inCheckArea(event)) {
- mIsInDownEvent = true;
- handled = true;
- }
- break;
-
- case MotionEvent.ACTION_CANCEL:
- mIsInDownEvent = false;
- break;
-
- case MotionEvent.ACTION_UP:
- if (mIsInDownEvent && inCheckArea(event)) {
- toggle();
- sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
- handled = true;
- }
- mIsInDownEvent = false;
- break;
- }
-
- if (handled) {
- postInvalidate();
- } else {
- handled = super.onTouchEvent(event);
- }
-
- return handled;
- }
-
- @Override
- public boolean isChecked() {
- return mCheckBox.isChecked();
- }
-
- @Override
- public void setChecked(boolean checked) {
- mCheckBox.setChecked(checked);
- mDownloadList.onDownloadSelectionChanged(mDownloadId, mCheckBox.isChecked(),
- mFileName, mMimeType);
- mDownloadList.getCurrentView().setItemChecked(mPosition, mCheckBox.isChecked());
- }
-
- @Override
- public void toggle() {
- setChecked(!isChecked());
- }
-
- public CheckBox getCheckBox() {
- return this.mCheckBox;
- }
-
- public String getFileName() {
- return mFileName;
- }
-
- public String getMimeType() {
- return mMimeType;
- }
-}