121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori// Copyright 2011 Google Inc. All Rights Reserved. 221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noripackage com.android.settings.deviceinfo; 421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 521809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.content.Context; 6fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkeyimport android.os.Environment.UserEnvironment; 7fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkeyimport android.os.UserHandle; 821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.util.AttributeSet; 921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.view.ViewDebug; 1021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.widget.CheckBox; 1121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.widget.Checkable; 1221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.widget.RelativeLayout; 1321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noriimport android.widget.TextView; 1421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 15fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkeyimport com.android.settings.R; 16fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkey 1721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori/** 1821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori * Handles display of a single row entry on Settings --> Storage --> Misc Files screen 1921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori */ 2021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Noripublic class FileItemInfoLayout extends RelativeLayout implements Checkable { 2121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori private TextView mFileNameView; 2221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori private TextView mFileSizeView; 2321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori private CheckBox mCheckbox; 24fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkey 25fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkey private static final int sLengthExternalStorageDirPrefix = new UserEnvironment( 26fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkey UserHandle.myUserId()).getExternalStorageDirectory().getAbsolutePath().length() + 1; 2721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 2821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public FileItemInfoLayout(Context context) { 2921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori this(context, null); 3021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 3121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 3221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public FileItemInfoLayout(Context context, AttributeSet attrs) { 3321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori this(context, attrs, 0); 3421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 3521809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 3621809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public FileItemInfoLayout(Context context, AttributeSet attrs, int defStyle) { 3721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori super(context, attrs, defStyle); 3821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 3921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 4021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public void toggle() { 4121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori setChecked(!mCheckbox.isChecked()); 4221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 4321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 4421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori /* (non-Javadoc) 4521809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori * @see android.view.View#onFinishInflate() 4621809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori */ 4721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori @Override 4821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori protected void onFinishInflate() { 4921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori super.onFinishInflate(); 5021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori mFileNameView = (TextView) findViewById(R.id.misc_filename); 5121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori mFileSizeView = (TextView) findViewById(R.id.misc_filesize); 5221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori mCheckbox = (CheckBox) findViewById(R.id.misc_checkbox); 5321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 5421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 5521809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public void setFileName(String fileName) { 56fda48e39d36dae29a5ab962f232ed26f54abb44fJeff Sharkey mFileNameView.setText(fileName.substring(sLengthExternalStorageDirPrefix)); 5721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 5821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 5921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public void setFileSize(String filesize) { 6021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori mFileSizeView.setText(filesize); 6121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 6221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 6321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori @ViewDebug.ExportedProperty 6421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public boolean isChecked() { 6521809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori return mCheckbox.isChecked(); 6621809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 6721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 6821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public CheckBox getCheckBox() { 6921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori return mCheckbox; 7021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 7121809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori 7221809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori /** 7321809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori * <p>Changes the checked state of this text view.</p> 7421809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori * 7521809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori * @param checked true to check the text, false to uncheck it 7621809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori */ 7721809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori public void setChecked(boolean checked) { 7821809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori mCheckbox.setChecked(checked); 7921809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori } 8021809740f2fd8fe8df4e300e5d1d15f0ccedbb5fVasu Nori}