1419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang/* 2419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * Copyright (C) 2011 The Android Open Source Project 3419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * 4419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * Licensed under the Apache License, Version 2.0 (the "License"); 5419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * you may not use this file except in compliance with the License. 6419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * You may obtain a copy of the License at 7419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * 8419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * http://www.apache.org/licenses/LICENSE-2.0 9419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * 10419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * Unless required by applicable law or agreed to in writing, software 11419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * distributed under the License is distributed on an "AS IS" BASIS, 12419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * See the License for the specific language governing permissions and 14419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * limitations under the License. 15419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang */ 16419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 17419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangpackage com.android.camera.ui; 18419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 19419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport com.android.camera.R; 20419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport com.android.camera.Util; 21419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 22419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.app.Activity; 23419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.os.Handler; 24419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.LayoutInflater; 25419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.View; 26419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.ViewGroup; 27419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.widget.TextView; 28419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 29419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangpublic class RotateTextToast { 30419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang private static final int TOAST_DURATION = 5000; // milliseconds 31419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang ViewGroup mLayoutRoot; 32419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang RotateLayout mToast; 33419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang Handler mHandler; 34419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 35419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang public RotateTextToast(Activity activity, int textResourceId, int orientation) { 36419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mLayoutRoot = (ViewGroup) activity.getWindow().getDecorView(); 37419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang LayoutInflater inflater = activity.getLayoutInflater(); 38419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang View v = inflater.inflate(R.layout.rotate_text_toast, mLayoutRoot); 39419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mToast = (RotateLayout) v.findViewById(R.id.rotate_toast); 40419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang TextView tv = (TextView) mToast.findViewById(R.id.message); 41419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang tv.setText(textResourceId); 42419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mToast.setOrientation(orientation); 43419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mHandler = new Handler(); 44419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang } 45419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 46419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang private final Runnable mRunnable = new Runnable() { 47419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang public void run() { 48419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang Util.fadeOut(mToast); 49419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mLayoutRoot.removeView(mToast); 50419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mToast = null; 51419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang } 52419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang }; 53419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 54419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang public void show() { 55419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mToast.setVisibility(View.VISIBLE); 56419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mHandler.postDelayed(mRunnable, TOAST_DURATION); 57419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang } 58419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang} 59