HistoryItem.java revision b1402a5c3e1617867c58d32d1fe9782cf6de423f
10c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project/* 20c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 30c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * 40c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 50c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * you may not use this file except in compliance with the License. 60c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * You may obtain a copy of the License at 70c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * 80c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 90c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * 100c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 110c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 120c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * See the License for the specific language governing permissions and 140c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * limitations under the License. 150c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project */ 160c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 170c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 180c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectpackage com.android.browser; 190c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 200c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.content.Context; 210c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.view.View; 220c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.widget.CompoundButton; 230c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 240c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project/** 250c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Layout representing a history item in the classic history viewer. 260c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project */ 270c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project/* package */ class HistoryItem extends BookmarkItem { 280c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 290c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project private CompoundButton mStar; // Star for bookmarking 300c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project private CompoundButton.OnCheckedChangeListener mListener; 310c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project /** 320c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Create a new HistoryItem. 330c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * @param context Context for this HistoryItem. 340c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project */ 350c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project /* package */ HistoryItem(Context context) { 360c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project super(context); 370c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 380c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project mStar = (CompoundButton) findViewById(R.id.star); 390c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project mStar.setVisibility(View.VISIBLE); 400c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project mListener = new CompoundButton.OnCheckedChangeListener() { 410c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project public void onCheckedChanged(CompoundButton buttonView, 420c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project boolean isChecked) { 430c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (isChecked) { 44052ce667ce77c4fb3208c0b0dacba7be79c072d9Leon Scroggins III // FIXME: For now, add at the root level. Should we 45052ce667ce77c4fb3208c0b0dacba7be79c072d9Leon Scroggins III // open AddBookmark from here? 46b1402a5c3e1617867c58d32d1fe9782cf6de423fBjorn Bringert Bookmarks.addBookmark(getContext(), true, mUrl, getName(), null, true, 0); 470a1d838ccd16ac08300bb8ac89b61ee0c956a49bKristian Monsen LogTag.logBookmarkAdded(mUrl, "history"); 480c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } else { 49b1402a5c3e1617867c58d32d1fe9782cf6de423fBjorn Bringert Bookmarks.removeFromBookmarks(getContext(), 50b1402a5c3e1617867c58d32d1fe9782cf6de423fBjorn Bringert getContext().getContentResolver(), mUrl, getName()); 510c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 520c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 530c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project }; 540c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 550c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 56186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins /* package */ void copyTo(HistoryItem item) { 570c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project item.mTextView.setText(mTextView.getText()); 580c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project item.mUrlText.setText(mUrlText.getText()); 590c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project item.setIsBookmark(mStar.isChecked()); 600c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project item.mImageView.setImageDrawable(mImageView.getDrawable()); 610c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 620c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 630c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project /** 64186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins * Whether or not this item represents a bookmarked site 65186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins */ 66186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins /* package */ boolean isBookmark() { 67186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins return mStar.isChecked(); 68186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins } 69186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins 70186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins /** 710c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Set whether or not this represents a bookmark, and make sure the star 720c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * behaves appropriately. 730c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project */ 74186e593776c396bde3d720addd6f6842fe880a7cLeon Scroggins /* package */ void setIsBookmark(boolean isBookmark) { 750c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project mStar.setOnCheckedChangeListener(null); 760c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project mStar.setChecked(isBookmark); 770c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project mStar.setOnCheckedChangeListener(mListener); 780c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 790c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project} 80