diff options
Diffstat (limited to 'ui/src/com/android/providers/downloads/ui/DownloadItem.java')
-rw-r--r-- | ui/src/com/android/providers/downloads/ui/DownloadItem.java | 156 |
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; - } -} |