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.
141 lines
9.0 KiB
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 "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.
|
|
*/</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 && 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> |