diff options
Diffstat (limited to 'src/com/android/settings/deviceinfo/FileItemInfoLayout.java')
-rw-r--r-- | src/com/android/settings/deviceinfo/FileItemInfoLayout.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/com/android/settings/deviceinfo/FileItemInfoLayout.java b/src/com/android/settings/deviceinfo/FileItemInfoLayout.java new file mode 100644 index 0000000..990f7f2 --- /dev/null +++ b/src/com/android/settings/deviceinfo/FileItemInfoLayout.java @@ -0,0 +1,78 @@ +// Copyright 2011 Google Inc. All Rights Reserved. + +package com.android.settings.deviceinfo; + +import com.android.settings.R; + +import android.content.Context; +import android.os.Environment; +import android.util.AttributeSet; +import android.view.ViewDebug; +import android.widget.CheckBox; +import android.widget.Checkable; +import android.widget.RelativeLayout; +import android.widget.TextView; + +/** + * Handles display of a single row entry on Settings --> Storage --> Misc Files screen + */ +public class FileItemInfoLayout extends RelativeLayout implements Checkable { + private TextView mFileNameView; + private TextView mFileSizeView; + private CheckBox mCheckbox; + private static final int mLengthExternalStorageDirPrefix = + Environment.getExternalStorageDirectory().getAbsolutePath().length() + 1; + + public FileItemInfoLayout(Context context) { + this(context, null); + } + + public FileItemInfoLayout(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public FileItemInfoLayout(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + public void toggle() { + setChecked(!mCheckbox.isChecked()); + } + + /* (non-Javadoc) + * @see android.view.View#onFinishInflate() + */ + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + mFileNameView = (TextView) findViewById(R.id.misc_filename); + mFileSizeView = (TextView) findViewById(R.id.misc_filesize); + mCheckbox = (CheckBox) findViewById(R.id.misc_checkbox); + } + + public void setFileName(String fileName) { + mFileNameView.setText(fileName.substring(mLengthExternalStorageDirPrefix)); + } + + public void setFileSize(String filesize) { + mFileSizeView.setText(filesize); + } + + @ViewDebug.ExportedProperty + public boolean isChecked() { + return mCheckbox.isChecked(); + } + + public CheckBox getCheckBox() { + return mCheckbox; + } + + /** + * <p>Changes the checked state of this text view.</p> + * + * @param checked true to check the text, false to uncheck it + */ + public void setChecked(boolean checked) { + mCheckbox.setChecked(checked); + } +}
\ No newline at end of file |