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 android.app.Activity; 20419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.os.Handler; 21419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.LayoutInflater; 22419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.View; 23419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.ViewGroup; 24419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.widget.TextView; 25419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 26892781804513066b68b4a2fa6f846e862dac252aOwen Linimport com.android.camera.R; 27892781804513066b68b4a2fa6f846e862dac252aOwen Linimport com.android.camera.Util; 28892781804513066b68b4a2fa6f846e862dac252aOwen Lin 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); 422865863f6a1887bda17e0a58a6a0f3aaac237cb6Angus Kong mToast.setOrientation(orientation, false); 43419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mHandler = new Handler(); 44419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang } 45419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 46419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang private final Runnable mRunnable = new Runnable() { 47913f3784d368a5e11fee5d5db2c355ef832685daWu-cheng Li @Override 48419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang public void run() { 49419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang Util.fadeOut(mToast); 50419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mLayoutRoot.removeView(mToast); 51419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mToast = null; 52419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang } 53419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang }; 54419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang 55419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang public void show() { 56419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mToast.setVisibility(View.VISIBLE); 57419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang mHandler.postDelayed(mRunnable, TOAST_DURATION); 58419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang } 59419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang} 60