• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2008 Esmertec AG.
3  * Copyright (C) 2008 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 package com.android.mms.ui;
19 
20 import java.util.Map;
21 
22 import android.content.Context;
23 import android.graphics.Bitmap;
24 import android.graphics.BitmapFactory;
25 import android.net.Uri;
26 import android.text.Editable;
27 import android.text.TextWatcher;
28 import android.util.AttributeSet;
29 import android.util.Log;
30 import android.view.View;
31 import android.widget.EditText;
32 import android.widget.ImageView;
33 import android.widget.LinearLayout;
34 import android.widget.TextView;
35 
36 import com.android.mms.LogTag;
37 import com.android.mms.R;
38 
39 /**
40  * This is a basic view to show and edit a slide.
41  */
42 public class BasicSlideEditorView extends LinearLayout implements
43         SlideViewInterface {
44     private static final String TAG = LogTag.TAG;
45 
46     private ImageView mImageView;
47     private View mAudioView;
48     private TextView mAudioNameView;
49     private EditText mEditText;
50     private boolean mOnTextChangedListenerEnabled = true;
51     private OnTextChangedListener mOnTextChangedListener;
52 
BasicSlideEditorView(Context context)53     public BasicSlideEditorView(Context context) {
54         super(context);
55     }
56 
BasicSlideEditorView(Context context, AttributeSet attrs)57     public BasicSlideEditorView(Context context, AttributeSet attrs) {
58         super(context, attrs);
59     }
60 
61     @Override
onFinishInflate()62     public void onFinishInflate() {
63         mImageView = (ImageView) findViewById(R.id.image);
64         mAudioView = findViewById(R.id.audio);
65         mAudioNameView = (TextView) findViewById(R.id.audio_name);
66         mEditText = (EditText) findViewById(R.id.text_message);
67         mEditText.addTextChangedListener(new TextWatcher() {
68             public void beforeTextChanged(CharSequence s, int start, int count,
69                     int after) {
70                 // TODO Auto-generated method stub
71             }
72 
73             public void onTextChanged(CharSequence s, int start, int before,
74                     int count) {
75                 if (mOnTextChangedListenerEnabled && (mOnTextChangedListener != null)) {
76                     mOnTextChangedListener.onTextChanged(s.toString());
77                 }
78             }
79 
80             public void afterTextChanged(Editable s) {
81                 // TODO Auto-generated method stub
82             }
83         });
84     }
85 
startAudio()86     public void startAudio() {
87         // TODO Auto-generated method stub
88     }
89 
startVideo()90     public void startVideo() {
91         // TODO Auto-generated method stub
92     }
93 
setAudio(Uri audio, String name, Map<String, ?> extras)94     public void setAudio(Uri audio, String name, Map<String, ?> extras) {
95         mAudioView.setVisibility(View.VISIBLE);
96         mAudioNameView.setText(name);
97     }
98 
setImage(String name, Bitmap bitmap)99     public void setImage(String name, Bitmap bitmap) {
100         try {
101             if (null == bitmap) {
102                 bitmap = BitmapFactory.decodeResource(getResources(),
103                         R.drawable.ic_missing_thumbnail_picture);
104             }
105             mImageView.setImageBitmap(bitmap);
106         } catch (java.lang.OutOfMemoryError e) {
107             Log.e(TAG, "setImage: out of memory: ", e);
108         }
109     }
110 
setImageRegionFit(String fit)111     public void setImageRegionFit(String fit) {
112         // TODO Auto-generated method stub
113     }
114 
setImageVisibility(boolean visible)115     public void setImageVisibility(boolean visible) {
116         // TODO Auto-generated method stub
117     }
118 
setText(String name, String text)119     public void setText(String name, String text) {
120         mOnTextChangedListenerEnabled = false;
121         if ((text != null) && !text.equals(mEditText.getText().toString())) {
122             mEditText.setText(text);
123             mEditText.setSelection(text.length());
124         }
125         mOnTextChangedListenerEnabled = true;
126     }
127 
setTextVisibility(boolean visible)128     public void setTextVisibility(boolean visible) {
129         // TODO Auto-generated method stub
130     }
131 
setVideo(String name, Uri video)132     public void setVideo(String name, Uri video) {
133         try {
134             Bitmap bitmap = VideoAttachmentView.createVideoThumbnail(mContext, video);
135             if (null == bitmap) {
136                 bitmap = BitmapFactory.decodeResource(getResources(),
137                         R.drawable.ic_missing_thumbnail_video);
138             }
139             mImageView.setImageBitmap(bitmap);
140         } catch (java.lang.OutOfMemoryError e) {
141             Log.e(TAG, "setVideo: out of memory: ", e);
142         }
143     }
144 
setVideoThumbnail(String name, Bitmap bitmap)145     public void setVideoThumbnail(String name, Bitmap bitmap) {
146         mImageView.setImageBitmap(bitmap);
147     }
148 
setVideoVisibility(boolean visible)149     public void setVideoVisibility(boolean visible) {
150         // TODO Auto-generated method stub
151     }
152 
stopAudio()153     public void stopAudio() {
154         // TODO Auto-generated method stub
155     }
156 
stopVideo()157     public void stopVideo() {
158         // TODO Auto-generated method stub
159     }
160 
reset()161     public void reset() {
162         mImageView.setImageDrawable(null);
163         mAudioView.setVisibility(View.GONE);
164         mOnTextChangedListenerEnabled = false;
165         mEditText.setText("");
166         mOnTextChangedListenerEnabled = true;
167     }
168 
setVisibility(boolean visible)169     public void setVisibility(boolean visible) {
170         // TODO Auto-generated method stub
171     }
172 
setOnTextChangedListener(OnTextChangedListener l)173     public void setOnTextChangedListener(OnTextChangedListener l) {
174         mOnTextChangedListener = l;
175     }
176 
177     public interface OnTextChangedListener {
onTextChanged(String s)178         void onTextChanged(String s);
179     }
180 
pauseAudio()181     public void pauseAudio() {
182         // TODO Auto-generated method stub
183 
184     }
185 
pauseVideo()186     public void pauseVideo() {
187         // TODO Auto-generated method stub
188 
189     }
190 
seekAudio(int seekTo)191     public void seekAudio(int seekTo) {
192         // TODO Auto-generated method stub
193 
194     }
195 
seekVideo(int seekTo)196     public void seekVideo(int seekTo) {
197         // TODO Auto-generated method stub
198 
199     }
200 }
201