You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitProject1/01src/net/micode/notes/ui/NotesListItem.java.html

141 lines
9.0 KiB

<html>
<head>
<title>NotesListItem.java</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.s0 { color: #8c8c8c; font-style: italic;}
.s1 { color: #080808;}
.s2 { color: #0033b3;}
</style>
</head>
<body bgcolor="#ffffff">
<table CELLSPACING=0 CELLPADDING=5 COLS=1 WIDTH="100%" BGCOLOR="#c0c0c0" >
<tr><td><center>
<font face="Arial, Helvetica" color="#000000">
NotesListItem.java</font>
</center></td></tr></table>
<pre><span class="s0">/*
* Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
*
* Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
* 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 &quot;AS IS&quot; 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.
*/</span>
<span class="s2">package </span><span class="s1">net.micode.notes.ui;</span>
<span class="s2">import </span><span class="s1">android.content.Context;</span>
<span class="s2">import </span><span class="s1">android.text.format.DateUtils;</span>
<span class="s2">import </span><span class="s1">android.view.View;</span>
<span class="s2">import </span><span class="s1">android.widget.CheckBox;</span>
<span class="s2">import </span><span class="s1">android.widget.ImageView;</span>
<span class="s2">import </span><span class="s1">android.widget.LinearLayout;</span>
<span class="s2">import </span><span class="s1">android.widget.TextView;</span>
<span class="s2">import </span><span class="s1">net.micode.notes.R;</span>
<span class="s2">import </span><span class="s1">net.micode.notes.data.Notes;</span>
<span class="s2">import </span><span class="s1">net.micode.notes.tool.DataUtils;</span>
<span class="s2">import </span><span class="s1">net.micode.notes.tool.ResourceParser.NoteItemBgResources;</span>
<span class="s2">public class </span><span class="s1">NotesListItem </span><span class="s2">extends </span><span class="s1">LinearLayout {</span>
<span class="s2">private </span><span class="s1">ImageView mAlert;</span>
<span class="s2">private </span><span class="s1">TextView mTitle;</span>
<span class="s2">private </span><span class="s1">TextView mTime;</span>
<span class="s2">private </span><span class="s1">TextView mCallName;</span>
<span class="s2">private </span><span class="s1">NoteItemData mItemData;</span>
<span class="s2">private </span><span class="s1">CheckBox mCheckBox;</span>
<span class="s2">public </span><span class="s1">NotesListItem(Context context) {</span>
<span class="s2">super</span><span class="s1">(context);</span>
<span class="s1">inflate(context, R.layout.note_item, </span><span class="s2">this</span><span class="s1">);</span>
<span class="s1">mAlert = (ImageView) findViewById(R.id.iv_alert_icon);</span>
<span class="s1">mTitle = (TextView) findViewById(R.id.tv_title);</span>
<span class="s1">mTime = (TextView) findViewById(R.id.tv_time);</span>
<span class="s1">mCallName = (TextView) findViewById(R.id.tv_name);</span>
<span class="s1">mCheckBox = (CheckBox) findViewById(android.R.id.checkbox);</span>
<span class="s1">}</span>
<span class="s2">public void </span><span class="s1">bind(Context context, NoteItemData data, </span><span class="s2">boolean </span><span class="s1">choiceMode, </span><span class="s2">boolean </span><span class="s1">checked) {</span>
<span class="s2">if </span><span class="s1">(choiceMode &amp;&amp; data.getType() == Notes.TYPE_NOTE) {</span>
<span class="s1">mCheckBox.setVisibility(View.VISIBLE);</span>
<span class="s1">mCheckBox.setChecked(checked);</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">mCheckBox.setVisibility(View.GONE);</span>
<span class="s1">}</span>
<span class="s1">mItemData = data;</span>
<span class="s2">if </span><span class="s1">(data.getId() == Notes.ID_CALL_RECORD_FOLDER) {</span>
<span class="s1">mCallName.setVisibility(View.GONE);</span>
<span class="s1">mAlert.setVisibility(View.VISIBLE);</span>
<span class="s1">mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);</span>
<span class="s1">mTitle.setText(context.getString(R.string.call_record_folder_name)</span>
<span class="s1">+ context.getString(R.string.format_folder_files_count, data.getNotesCount()));</span>
<span class="s1">mAlert.setImageResource(R.drawable.call_record);</span>
<span class="s1">} </span><span class="s2">else if </span><span class="s1">(data.getParentId() == Notes.ID_CALL_RECORD_FOLDER) {</span>
<span class="s1">mCallName.setVisibility(View.VISIBLE);</span>
<span class="s1">mCallName.setText(data.getCallName());</span>
<span class="s1">mTitle.setTextAppearance(context,R.style.TextAppearanceSecondaryItem);</span>
<span class="s1">mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet()));</span>
<span class="s2">if </span><span class="s1">(data.hasAlert()) {</span>
<span class="s1">mAlert.setImageResource(R.drawable.clock);</span>
<span class="s1">mAlert.setVisibility(View.VISIBLE);</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">mAlert.setVisibility(View.GONE);</span>
<span class="s1">}</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">mCallName.setVisibility(View.GONE);</span>
<span class="s1">mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);</span>
<span class="s2">if </span><span class="s1">(data.getType() == Notes.TYPE_FOLDER) {</span>
<span class="s1">mTitle.setText(data.getSnippet()</span>
<span class="s1">+ context.getString(R.string.format_folder_files_count,</span>
<span class="s1">data.getNotesCount()));</span>
<span class="s1">mAlert.setVisibility(View.GONE);</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet()));</span>
<span class="s2">if </span><span class="s1">(data.hasAlert()) {</span>
<span class="s1">mAlert.setImageResource(R.drawable.clock);</span>
<span class="s1">mAlert.setVisibility(View.VISIBLE);</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">mAlert.setVisibility(View.GONE);</span>
<span class="s1">}</span>
<span class="s1">}</span>
<span class="s1">}</span>
<span class="s1">mTime.setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate()));</span>
<span class="s1">setBackground(data);</span>
<span class="s1">}</span>
<span class="s2">private void </span><span class="s1">setBackground(NoteItemData data) {</span>
<span class="s2">int </span><span class="s1">id = data.getBgColorId();</span>
<span class="s2">if </span><span class="s1">(data.getType() == Notes.TYPE_NOTE) {</span>
<span class="s2">if </span><span class="s1">(data.isSingle() || data.isOneFollowingFolder()) {</span>
<span class="s1">setBackgroundResource(NoteItemBgResources.getNoteBgSingleRes(id));</span>
<span class="s1">} </span><span class="s2">else if </span><span class="s1">(data.isLast()) {</span>
<span class="s1">setBackgroundResource(NoteItemBgResources.getNoteBgLastRes(id));</span>
<span class="s1">} </span><span class="s2">else if </span><span class="s1">(data.isFirst() || data.isMultiFollowingFolder()) {</span>
<span class="s1">setBackgroundResource(NoteItemBgResources.getNoteBgFirstRes(id));</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">setBackgroundResource(NoteItemBgResources.getNoteBgNormalRes(id));</span>
<span class="s1">}</span>
<span class="s1">} </span><span class="s2">else </span><span class="s1">{</span>
<span class="s1">setBackgroundResource(NoteItemBgResources.getFolderBgRes());</span>
<span class="s1">}</span>
<span class="s1">}</span>
<span class="s2">public </span><span class="s1">NoteItemData getItemData() {</span>
<span class="s2">return </span><span class="s1">mItemData;</span>
<span class="s1">}</span>
<span class="s1">}</span>
</pre>
</body>
</html>